Boost logo

Boost-Commit :

From: daniel_james_at_[hidden]
Date: 2008-02-16 04:50:18


Author: danieljames
Date: 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
New Revision: 43270
URL: http://svn.boost.org/trac/boost/changeset/43270

Log:
Merge.
Added:
   branches/fix-links/boost/iostreams/detail/absolute_path.hpp
      - copied unchanged from r43269, /trunk/boost/iostreams/detail/absolute_path.hpp
   branches/fix-links/boost/iostreams/detail/current_directory.hpp
      - copied unchanged from r43269, /trunk/boost/iostreams/detail/current_directory.hpp
   branches/fix-links/libs/bimap/doc/html/images/bimap/relation.and.pair.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/bimap/relation.and.pair.png
   branches/fix-links/libs/bimap/doc/html/images/bimap/relation.and.pair.with.info.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/bimap/relation.and.pair.with.info.png
   branches/fix-links/libs/bimap/doc/html/images/bimap/relation.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/bimap/relation.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/
      - copied from r43269, /trunk/libs/bimap/doc/html/images/callouts/
   branches/fix-links/libs/bimap/doc/html/images/callouts/1.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/1.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/10.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/10.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/11.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/11.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/12.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/12.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/13.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/13.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/14.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/14.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/15.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/15.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/2.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/2.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/3.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/3.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/4.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/4.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/5.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/5.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/6.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/6.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/7.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/7.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/8.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/8.png
   branches/fix-links/libs/bimap/doc/html/images/callouts/9.png
      - copied unchanged from r43269, /trunk/libs/bimap/doc/html/images/callouts/9.png
   branches/fix-links/libs/bind/test/bind_and_or_test.cpp
      - copied unchanged from r43269, /trunk/libs/bind/test/bind_and_or_test.cpp
   branches/fix-links/libs/numeric/conversion/doc/html/images/
      - copied from r43269, /trunk/libs/numeric/conversion/doc/html/images/
   branches/fix-links/libs/numeric/conversion/doc/html/images/callouts/
      - copied from r43269, /trunk/libs/numeric/conversion/doc/html/images/callouts/
   branches/fix-links/libs/numeric/conversion/doc/html/images/callouts/R.png
      - copied unchanged from r43269, /trunk/libs/numeric/conversion/doc/html/images/callouts/R.png
   branches/fix-links/libs/numeric/conversion/doc/html/images/space.png
      - copied unchanged from r43269, /trunk/libs/numeric/conversion/doc/html/images/space.png
Removed:
   branches/fix-links/doc/html/functionN.html
   branches/fix-links/libs/bimap/doc/html/images/caution.png
   branches/fix-links/libs/bimap/doc/html/images/extern/boost.blade.logo.png
   branches/fix-links/libs/bimap/doc/html/images/home.png
   branches/fix-links/libs/bimap/doc/html/images/important.png
   branches/fix-links/libs/bimap/doc/html/images/next.png
   branches/fix-links/libs/bimap/doc/html/images/note.png
   branches/fix-links/libs/bimap/doc/html/images/prev.png
   branches/fix-links/libs/bimap/doc/html/images/tip.png
   branches/fix-links/libs/bimap/doc/html/images/toc/
   branches/fix-links/libs/bimap/doc/html/images/up.png
   branches/fix-links/libs/bimap/doc/html/images/warning.png
   branches/fix-links/libs/fusion/doc/html/fusion/extension/macros.html
   branches/fix-links/libs/numeric/conversion/doc/bounds.html
   branches/fix-links/libs/numeric/conversion/doc/conversion_traits.html
   branches/fix-links/libs/numeric/conversion/doc/converter.html
   branches/fix-links/libs/numeric/conversion/doc/converter_policies.html
   branches/fix-links/libs/numeric/conversion/doc/definitions.html
   branches/fix-links/libs/numeric/conversion/doc/index.html
   branches/fix-links/libs/numeric/conversion/doc/numeric_cast.html
   branches/fix-links/libs/numeric/conversion/doc/requirements.html
   branches/fix-links/libs/optional/doc/html/images/callouts/1.png
   branches/fix-links/libs/optional/doc/html/images/callouts/10.png
   branches/fix-links/libs/optional/doc/html/images/callouts/11.png
   branches/fix-links/libs/optional/doc/html/images/callouts/12.png
   branches/fix-links/libs/optional/doc/html/images/callouts/13.png
   branches/fix-links/libs/optional/doc/html/images/callouts/14.png
   branches/fix-links/libs/optional/doc/html/images/callouts/15.png
   branches/fix-links/libs/optional/doc/html/images/callouts/2.png
   branches/fix-links/libs/optional/doc/html/images/callouts/3.png
   branches/fix-links/libs/optional/doc/html/images/callouts/4.png
   branches/fix-links/libs/optional/doc/html/images/callouts/5.png
   branches/fix-links/libs/optional/doc/html/images/callouts/6.png
   branches/fix-links/libs/optional/doc/html/images/callouts/7.png
   branches/fix-links/libs/optional/doc/html/images/callouts/8.png
   branches/fix-links/libs/optional/doc/html/images/callouts/9.png
   branches/fix-links/libs/optional/doc/html/images/caution.png
   branches/fix-links/libs/optional/doc/html/images/home.png
   branches/fix-links/libs/optional/doc/html/images/important.png
   branches/fix-links/libs/optional/doc/html/images/next.png
   branches/fix-links/libs/optional/doc/html/images/note.png
   branches/fix-links/libs/optional/doc/html/images/prev.png
   branches/fix-links/libs/optional/doc/html/images/tip.png
   branches/fix-links/libs/optional/doc/html/images/up.png
   branches/fix-links/libs/optional/doc/html/images/warning.png
   branches/fix-links/libs/optional/doc/optional.html
Properties modified:
   branches/fix-links/ (props changed)
Text files modified:
   branches/fix-links/boost/bimap/detail/bimap_core.hpp | 50 +++++-----
   branches/fix-links/boost/bimap/detail/set_view_base.hpp | 2
   branches/fix-links/boost/bimap/list_of.hpp | 4
   branches/fix-links/boost/bimap/multiset_of.hpp | 8
   branches/fix-links/boost/bimap/set_of.hpp | 8
   branches/fix-links/boost/bimap/unconstrained_set_of.hpp | 4
   branches/fix-links/boost/bimap/unordered_multiset_of.hpp | 8
   branches/fix-links/boost/bimap/unordered_set_of.hpp | 8
   branches/fix-links/boost/bimap/vector_of.hpp | 4
   branches/fix-links/boost/bind.hpp | 26 +++++
   branches/fix-links/boost/iostreams/detail/system_failure.hpp | 6 +
   branches/fix-links/boost/range/iterator_range.hpp | 5
   branches/fix-links/boost/wave/util/insert_whitespace_detection.hpp | 176 ++++++++++++++++++++++++++++++++++++---
   branches/fix-links/libs/asio/example/allocation/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/buffers/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/chat/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/echo/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/http/client/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/http/server/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/http/server2/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/http/server3/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/invocation/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/iostreams/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/multicast/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/serialization/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/services/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/socks4/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/ssl/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/timeouts/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/timers/Jamfile.v2 | 1
   branches/fix-links/libs/asio/example/tutorial/Jamfile.v2 | 1
   branches/fix-links/libs/asio/test/Jamfile.v2 | 1
   branches/fix-links/libs/asio/test/ssl/Jamfile.v2 | 1
   branches/fix-links/libs/bimap/doc/acknowledgements.qbk | 11 --
   branches/fix-links/libs/bimap/doc/bimap.qbk | 1
   branches/fix-links/libs/bimap/doc/directdoxygen.jam | 9 ++
   branches/fix-links/libs/bimap/doc/html/boost_bimap/acknowledgements.html | 20 +---
   branches/fix-links/libs/bimap/doc/html/boost_bimap/bimap_and_boost.html | 8
   branches/fix-links/libs/bimap/doc/html/boost_bimap/bimap_and_boost/boost_libraries_that_work_well_with_boost_bimap.html | 8
   branches/fix-links/libs/bimap/doc/html/boost_bimap/bimap_and_boost/dependencies.html | 10 +-
   branches/fix-links/libs/bimap/doc/html/boost_bimap/compiler_specifics.html | 8
   branches/fix-links/libs/bimap/doc/html/boost_bimap/examples.html | 10 +-
   branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/mighty_bimap.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/multiindex_to_bimap_path___bidirectional_map.html | 8
   branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/multiindex_to_bimap_path___hashed_indices.html | 8
   branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/simple_bimap.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/future_work.html | 6
   branches/fix-links/libs/bimap/doc/html/boost_bimap/history.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/history/multiindex_and_bimap.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/introduction.html | 8
   branches/fix-links/libs/bimap/doc/html/boost_bimap/one_minute_tutorial.html | 26 ++--
   branches/fix-links/libs/bimap/doc/html/boost_bimap/performance.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale.html | 8
   branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale/additional_features.html | 10 +-
   branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale/code.html | 8
   branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale/the_student_and_the_mentor.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/reference.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/bimap_reference.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/list_of_reference.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/set_of_reference.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/unconstrained_set_of_reference.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/unordered_set_of_reference.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/vector_of_reference.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/release_notes.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/test_suite.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/additional_information.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/bimaps_with_user_defined_names.html | 8
   branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/complete_instantiation_scheme.html | 14 +-
   branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/controlling_collection_types.html | 10 +-
   branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/differences_with_standard_maps.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/discovering_the_bimap_framework.html | 6
   branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/the_collection_of_relations_type.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/unconstrained_sets.html | 4
   branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/useful_functions.html | 4
   branches/fix-links/libs/bimap/doc/html/index.html | 12 +-
   branches/fix-links/libs/bimap/doc/tutorial.qbk | 8
   branches/fix-links/libs/bimap/example/user_defined_names.cpp | 2
   branches/fix-links/libs/bimap/index.html | 5 +
   branches/fix-links/libs/bind/test/Jamfile.v2 | 1
   branches/fix-links/libs/iostreams/src/file_descriptor.cpp | 2
   branches/fix-links/libs/iostreams/src/mapped_file.cpp | 40 +++++++-
   branches/fix-links/libs/iostreams/test/detail/utf8_codecvt_facet.hpp | 2
   branches/fix-links/libs/iostreams/test/large_file_test.cpp | 32 +++---
   branches/fix-links/libs/libraries.htm | 10 +-
   branches/fix-links/libs/numeric/conversion/doc/Jamfile.v2 | 34 ++++++-
   branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/bounds___traits_class.html | 28 +++--
   branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/conversion_traits___traits_class.html | 44 +++------
   branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/converter___function_object.html | 28 +++--
   branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/definitions.html | 157 +++++++++++++++++------------------
   branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/improved_numeric_cast__.html | 26 +++--
   branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/numeric_converter_policy_classes.html | 80 ++++++++----------
   branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/type_requirements_and_user_defined_types_support.html | 30 +++--
   branches/fix-links/libs/numeric/conversion/doc/html/index.html | 26 ++--
   branches/fix-links/libs/numeric/conversion/doc/html/numeric_conversion/bibliography.html | 26 +++--
   branches/fix-links/libs/numeric/conversion/doc/html/numeric_conversion/history_and_acknowledgments.html | 30 +++--
   branches/fix-links/libs/numeric/conversion/index.html | 6
   branches/fix-links/libs/optional/doc/Jamfile.v2 | 6
   branches/fix-links/libs/optional/doc/html/boost_optional/a_note_about_optional_bool_.html | 26 +++--
   branches/fix-links/libs/optional/doc/html/boost_optional/acknowledgments.html | 30 +++--
   branches/fix-links/libs/optional/doc/html/boost_optional/dependencies_and_portability.html | 26 +++--
   branches/fix-links/libs/optional/doc/html/boost_optional/detailed_semantics.html | 74 +++++++++-------
   branches/fix-links/libs/optional/doc/html/boost_optional/development.html | 45 ++++-----
   branches/fix-links/libs/optional/doc/html/boost_optional/examples.html | 26 +++--
   branches/fix-links/libs/optional/doc/html/boost_optional/exception_safety_guarantees.html | 28 +++--
   branches/fix-links/libs/optional/doc/html/boost_optional/implementation_notes.html | 26 +++--
   branches/fix-links/libs/optional/doc/html/boost_optional/in_place_factories.html | 26 +++--
   branches/fix-links/libs/optional/doc/html/boost_optional/optional_references.html | 26 +++--
   branches/fix-links/libs/optional/doc/html/boost_optional/rebinding_semantics_for_assignment_of_optional_references.html | 28 +++--
   branches/fix-links/libs/optional/doc/html/boost_optional/synopsis.html | 26 +++--
   branches/fix-links/libs/optional/doc/html/boost_optional/type_requirements.html | 26 +++--
   branches/fix-links/libs/optional/doc/html/index.html | 41 ++++++--
   branches/fix-links/libs/optional/doc/optional.qbk | 5 -
   branches/fix-links/libs/optional/doc/reference.qbk | 1
   branches/fix-links/libs/optional/index.html | 6
   branches/fix-links/libs/wave/ChangeLog | 10 +
   branches/fix-links/libs/xpressive/test/test_symbols.cpp | 82 ++++++++++--------
   branches/fix-links/status/explicit-failures-markup.xml | 34 ++++++
   118 files changed, 1097 insertions(+), 748 deletions(-)

Modified: branches/fix-links/boost/bimap/detail/bimap_core.hpp
==============================================================================
--- branches/fix-links/boost/bimap/detail/bimap_core.hpp (original)
+++ branches/fix-links/boost/bimap/detail/bimap_core.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -92,34 +92,34 @@
     typedef BOOST_DEDUCED_TYPENAME manage_bimap_key
     <
         RightSetType
-
- >::type right_set_type;
 
-
- private:
+ >::type right_set_type;
 
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::default_tagged
- <
- BOOST_DEDUCED_TYPENAME left_set_type::user_type,
- ::boost::bimaps::relation::member_at::left
-
- >::type left_tagged_type;
-
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::default_tagged
- <
- BOOST_DEDUCED_TYPENAME right_set_type::user_type,
- ::boost::bimaps::relation::member_at::right
-
- >::type right_tagged_type;
 
- public:
+ private:
+
+ typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::default_tagged
+ <
+ BOOST_DEDUCED_TYPENAME left_set_type::user_type,
+ ::boost::bimaps::relation::member_at::left
 
- //@{
+ >::type left_tagged_type;
 
- typedef BOOST_DEDUCED_TYPENAME left_tagged_type::tag left_tag;
- typedef BOOST_DEDUCED_TYPENAME right_tagged_type::tag right_tag;
+ typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::default_tagged
+ <
+ BOOST_DEDUCED_TYPENAME right_set_type::user_type,
+ ::boost::bimaps::relation::member_at::right
+
+ >::type right_tagged_type;
 
- //@}
+ public:
+
+ //@{
+
+ typedef BOOST_DEDUCED_TYPENAME left_tagged_type::tag left_tag;
+ typedef BOOST_DEDUCED_TYPENAME right_tagged_type::tag right_tag;
+
+ //@}
 
     //@{
 
@@ -279,7 +279,7 @@
     /* else */ BOOST_DEDUCED_TYPENAME mpl::if_<
             is_same< BOOST_DEDUCED_TYPENAME parameters::set_type_of_relation, right_based >,
     // {
- ::boost::bimaps::tags::tagged< right_set_type, right_tag >,
+ ::boost::bimaps::tags::tagged< right_set_type, right_tag >,
     // }
     // else
     // {
@@ -496,7 +496,7 @@
 template< class BimapBaseType >
 struct left_map_view_type
 {
- typedef BOOST_DEDUCED_TYPENAME BimapBaseType::left_set_type left_set_type;
+ typedef BOOST_DEDUCED_TYPENAME BimapBaseType::left_set_type left_set_type;
     typedef BOOST_DEDUCED_TYPENAME
         left_set_type::BOOST_NESTED_TEMPLATE map_view_bind<
             BOOST_DEDUCED_TYPENAME BimapBaseType::left_tag, BimapBaseType
@@ -506,7 +506,7 @@
 template< class BimapBaseType >
 struct right_map_view_type
 {
- typedef BOOST_DEDUCED_TYPENAME BimapBaseType::right_set_type right_set_type;
+ typedef BOOST_DEDUCED_TYPENAME BimapBaseType::right_set_type right_set_type;
     typedef BOOST_DEDUCED_TYPENAME
         right_set_type::BOOST_NESTED_TEMPLATE map_view_bind<
             BOOST_DEDUCED_TYPENAME BimapBaseType::right_tag, BimapBaseType

Modified: branches/fix-links/boost/bimap/detail/set_view_base.hpp
==============================================================================
--- branches/fix-links/boost/bimap/detail/set_view_base.hpp (original)
+++ branches/fix-links/boost/bimap/detail/set_view_base.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -45,7 +45,7 @@
 template< class MutantRelationStorage, class KeyToBase >
 class set_view_key_to_base<MutantRelationStorage,MutantRelationStorage,KeyToBase>
 {
- typedef BOOST_DEDUCED_TYPENAME MutantRelationStorage::non_mutable_storage non_mutable_storage;
+ typedef BOOST_DEDUCED_TYPENAME MutantRelationStorage::non_mutable_storage non_mutable_storage;
     public:
     const MutantRelationStorage & operator()( const non_mutable_storage & k ) const
     {

Modified: branches/fix-links/boost/bimap/list_of.hpp
==============================================================================
--- branches/fix-links/boost/bimap/list_of.hpp (original)
+++ branches/fix-links/boost/bimap/list_of.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -107,8 +107,8 @@
     typedef Type user_type;
 
     /// Type of the object that will be stored in the list
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
+ typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
+ value_type_of<user_type>::type value_type;
 
 
     struct lazy_concept_checked

Modified: branches/fix-links/boost/bimap/multiset_of.hpp
==============================================================================
--- branches/fix-links/boost/bimap/multiset_of.hpp (original)
+++ branches/fix-links/boost/bimap/multiset_of.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -108,8 +108,8 @@
 template
 <
     class KeyType,
- class KeyCompare = std::less< BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::tags::support::value_type_of<KeyType>::type >
+ class KeyCompare = std::less< BOOST_DEDUCED_TYPENAME
+ ::boost::bimaps::tags::support::value_type_of<KeyType>::type >
>
 struct multiset_of : public ::boost::bimaps::detail::set_type_of_tag
 {
@@ -117,8 +117,8 @@
     typedef KeyType user_type;
 
     /// Type of the object that will be stored in the multiset
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
+ typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
+ value_type_of<user_type>::type value_type;
 
     /// Functor that compare two keys
     typedef KeyCompare key_compare;

Modified: branches/fix-links/boost/bimap/set_of.hpp
==============================================================================
--- branches/fix-links/boost/bimap/set_of.hpp (original)
+++ branches/fix-links/boost/bimap/set_of.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -110,16 +110,16 @@
 <
     class KeyType,
     class KeyCompare = std::less< BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::tags::support::value_type_of<KeyType>::type >
+ ::boost::bimaps::tags::support::value_type_of<KeyType>::type >
>
 struct set_of : public ::boost::bimaps::detail::set_type_of_tag
 {
- /// User type, can be tagged
+ /// User type, can be tagged
     typedef KeyType user_type;
 
     /// Type of the object that will be stored in the set
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
+ typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
+ value_type_of<user_type>::type value_type;
 
     /// Functor that compare two keys
     typedef KeyCompare key_compare;

Modified: branches/fix-links/boost/bimap/unconstrained_set_of.hpp
==============================================================================
--- branches/fix-links/boost/bimap/unconstrained_set_of.hpp (original)
+++ branches/fix-links/boost/bimap/unconstrained_set_of.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -67,8 +67,8 @@
     typedef KeyType user_type;
 
     /// Type of the object that will be stored in the container
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
+ typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
+ value_type_of<user_type>::type value_type;
 
     struct lazy_concept_checked
     {

Modified: branches/fix-links/boost/bimap/unordered_multiset_of.hpp
==============================================================================
--- branches/fix-links/boost/bimap/unordered_multiset_of.hpp (original)
+++ branches/fix-links/boost/bimap/unordered_multiset_of.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -118,9 +118,9 @@
 <
     class KeyType,
     class HashFunctor = hash< BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::tags::support::value_type_of<KeyType>::type >,
+ ::boost::bimaps::tags::support::value_type_of<KeyType>::type >,
     class EqualKey = std::equal_to< BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::tags::support::value_type_of<KeyType>::type >
+ ::boost::bimaps::tags::support::value_type_of<KeyType>::type >
>
 struct unordered_multiset_of : public ::boost::bimaps::detail::set_type_of_tag
 {
@@ -128,8 +128,8 @@
     typedef KeyType user_type;
 
     /// Type of the object that will be stored in the container
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
+ typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
+ value_type_of<user_type>::type value_type;
 
     /// Hash Functor that takes value_type objects
     typedef HashFunctor hasher;

Modified: branches/fix-links/boost/bimap/unordered_set_of.hpp
==============================================================================
--- branches/fix-links/boost/bimap/unordered_set_of.hpp (original)
+++ branches/fix-links/boost/bimap/unordered_set_of.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -115,9 +115,9 @@
 <
     class KeyType,
     class HashFunctor = hash< BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::tags::support::value_type_of<KeyType>::type >,
+ ::boost::bimaps::tags::support::value_type_of<KeyType>::type >,
     class EqualKey = std::equal_to< BOOST_DEDUCED_TYPENAME
- ::boost::bimaps::tags::support::value_type_of<KeyType>::type >
+ ::boost::bimaps::tags::support::value_type_of<KeyType>::type >
>
 struct unordered_set_of : public ::boost::bimaps::detail::set_type_of_tag
 {
@@ -125,8 +125,8 @@
     typedef KeyType user_type;
 
     /// Type of the object that will be stored in the container
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
+ typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
+ value_type_of<user_type>::type value_type;
 
     /// Hash Functor that takes value_type objects
     typedef HashFunctor hasher;

Modified: branches/fix-links/boost/bimap/vector_of.hpp
==============================================================================
--- branches/fix-links/boost/bimap/vector_of.hpp (original)
+++ branches/fix-links/boost/bimap/vector_of.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -112,8 +112,8 @@
     typedef Type user_type;
 
     /// Type of the object that will be stored in the vector
- typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
- value_type_of<user_type>::type value_type;
+ typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::
+ value_type_of<user_type>::type value_type;
 
 
     struct lazy_concept_checked

Modified: branches/fix-links/boost/bind.hpp
==============================================================================
--- branches/fix-links/boost/bind.hpp (original)
+++ branches/fix-links/boost/bind.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -248,6 +248,9 @@
     }
 };
 
+struct logical_and;
+struct logical_or;
+
 template< class A1, class A2 > class list2: private storage2< A1, A2 >
 {
 private:
@@ -294,6 +297,26 @@
         unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
     }
 
+ template<class A> bool operator()( type<bool>, logical_and & /*f*/, A & a, int )
+ {
+ return a[ base_type::a1_ ] && a[ base_type::a2_ ];
+ }
+
+ template<class A> bool operator()( type<bool>, logical_and const & /*f*/, A & a, int ) const
+ {
+ return a[ base_type::a1_ ] && a[ base_type::a2_ ];
+ }
+
+ template<class A> bool operator()( type<bool>, logical_or & /*f*/, A & a, int )
+ {
+ return a[ base_type::a1_ ] || a[ base_type::a2_ ];
+ }
+
+ template<class A> bool operator()( type<bool>, logical_or const & /*f*/, A & a, int ) const
+ {
+ return a[ base_type::a1_ ] || a[ base_type::a2_ ];
+ }
+
     template<class V> void accept(V & v) const
     {
         base_type::accept(v);
@@ -1158,6 +1181,9 @@
 BOOST_BIND_OPERATOR( >, greater )
 BOOST_BIND_OPERATOR( >=, greater_equal )
 
+BOOST_BIND_OPERATOR( &&, logical_and )
+BOOST_BIND_OPERATOR( ||, logical_or )
+
 #undef BOOST_BIND_OPERATOR
 
 #if defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3)

Modified: branches/fix-links/boost/iostreams/detail/system_failure.hpp
==============================================================================
--- branches/fix-links/boost/iostreams/detail/system_failure.hpp (original)
+++ branches/fix-links/boost/iostreams/detail/system_failure.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -69,9 +69,15 @@
     return BOOST_IOSTREAMS_FAILURE(result);
 }
 
+inline BOOST_IOSTREAMS_FAILURE system_failure(const std::string& msg)
+{ return system_failure(msg.c_str()); }
+
 inline void throw_system_failure(const char* msg)
 { throw system_failure(msg); }
 
+inline void throw_system_failure(const std::string& msg)
+{ throw system_failure(msg); }
+
 } } } // End namespaces detail, iostreams, boost.
 
 #endif // #ifndef BOOST_IOSTREAMS_DETAIL_SYSTEM_FAILURE_HPP_INCLUDED

Modified: branches/fix-links/boost/range/iterator_range.hpp
==============================================================================
--- branches/fix-links/boost/range/iterator_range.hpp (original)
+++ branches/fix-links/boost/range/iterator_range.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -11,13 +11,15 @@
 #ifndef BOOST_RANGE_ITERATOR_RANGE_HPP
 #define BOOST_RANGE_ITERATOR_RANGE_HPP
 
+#include <boost/config.hpp> // Define __STL_CONFIG_H, if appropriate.
+#include <boost/detail/workaround.hpp>
+
 #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
     #pragma warning( push )
     #pragma warning( disable : 4996 )
 #endif
 
 // From boost/dynamic_bitset.hpp; thanks to Matthias Troyer for Cray X1 patch.
-#include <boost/config.hpp> // Define __STL_CONFIG_H, if appropriate.
 #ifndef BOOST_OLD_IOSTREAMS
 # if defined(__STL_CONFIG_H) && \
     !defined (__STL_USE_NEW_IOSTREAMS) && !defined(__crayx1) \
@@ -26,7 +28,6 @@
 # endif
 #endif // #ifndef BOOST_OLD_IOSTREAMS
 
-#include <boost/detail/workaround.hpp>
 #include <boost/range/functions.hpp>
 #include <boost/range/iterator.hpp>
 #include <boost/range/difference_type.hpp>

Modified: branches/fix-links/boost/wave/util/insert_whitespace_detection.hpp
==============================================================================
--- branches/fix-links/boost/wave/util/insert_whitespace_detection.hpp (original)
+++ branches/fix-links/boost/wave/util/insert_whitespace_detection.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -199,7 +199,29 @@
         }
         return false;
     }
-
+
+ inline bool
+ handle_parens(boost::wave::token_id prev)
+ {
+ switch (static_cast<unsigned int>(prev)) {
+ case T_LEFTPAREN:
+ case T_RIGHTPAREN:
+ case T_LEFTBRACKET:
+ case T_RIGHTBRACKET:
+ case T_LEFTBRACE:
+ case T_RIGHTBRACE:
+ case T_SEMICOLON:
+ case T_COMMA:
+ case T_COLON:
+ // no insertion between parens/brackets/braces and operators
+ return false;
+
+ default:
+ break;
+ }
+ return true;
+ }
+
 } // namespace impl
 
 class insert_whitespace_detection
@@ -260,6 +282,8 @@
                 return false; // no insertion between parens/brackets/braces
 
             default:
+ if (IS_CATEGORY(prev, OperatorTokenType))
+ return false;
                 break;
             }
             break;
@@ -281,6 +305,8 @@
             case T_QUESTION_MARK:
                 if (T_QUESTION_MARK == beforeprev)
                     return true;
+ if (IS_CATEGORY(prev, OperatorTokenType))
+ return false;
                 break;
                 
             default:
@@ -290,20 +316,113 @@
                             
         case T_MINUS:
         case T_MINUSMINUS:
- case T_LESS:
+ case T_MINUSASSIGN:
+ if (T_MINUS == prev || T_MINUSMINUS == prev)
+ return true;
+ if (!impl::handle_parens(prev))
+ return false;
+ if (T_QUESTION_MARK == prev && T_QUESTION_MARK == beforeprev)
+ return true;
+ break;
+
+ case T_PLUS:
+ case T_PLUSPLUS:
+ case T_PLUSASSIGN:
+ if (T_PLUS == prev || T_PLUSPLUS == prev)
+ return true;
+ if (!impl::handle_parens(prev))
+ return false;
+ if (T_QUESTION_MARK == prev && T_QUESTION_MARK == beforeprev)
+ return true;
+ break;
+
+ case T_DIVIDE:
+ case T_DIVIDEASSIGN:
+ if (T_DIVIDE == prev)
+ return true;
+ if (!impl::handle_parens(prev))
+ return false;
+ if (T_QUESTION_MARK == prev && T_QUESTION_MARK == beforeprev)
+ return true;
+ break;
+
         case T_EQUAL:
         case T_ASSIGN:
+ switch (static_cast<unsigned int>(prev)) {
+ case T_PLUSASSIGN:
+ case T_MINUSASSIGN:
+ case T_DIVIDEASSIGN:
+ case T_STARASSIGN:
+ case T_SHIFTRIGHTASSIGN:
+ case T_SHIFTLEFTASSIGN:
+ case T_EQUAL:
+ case T_NOTEQUAL:
+ case T_LESSEQUAL:
+ case T_GREATEREQUAL:
+ case T_LESS:
+ case T_GREATER:
+ case T_PLUS:
+ case T_MINUS:
+ case T_STAR:
+ case T_DIVIDE:
+ case T_ORASSIGN:
+ case T_ANDASSIGN:
+ case T_XORASSIGN:
+ case T_OR:
+ case T_AND:
+ case T_XOR:
+ case T_OROR:
+ case T_ANDAND:
+ return true;
+
+ case T_QUESTION_MARK:
+ if (T_QUESTION_MARK == beforeprev)
+ return true;
+ break;
+
+ default:
+ if (!impl::handle_parens(prev))
+ return false;
+ break;
+ }
+ break;
+
         case T_GREATER:
- case T_DIVIDE:
+ if (T_MINUS == prev)
+ return true; // prevent ->
+ // fall through
+ case T_LESS:
         case T_CHARLIT:
         case T_NOT:
         case T_NOTEQUAL:
- case T_DIVIDEASSIGN:
- case T_MINUSASSIGN:
+ if (!impl::handle_parens(prev))
+ return false;
             if (T_QUESTION_MARK == prev && T_QUESTION_MARK == beforeprev)
- return true; // ??{op}
+ return true;
             break;
 
+ case T_AND:
+ case T_ANDAND:
+ if (!impl::handle_parens(prev))
+ return false;
+ if (T_AND == prev || T_ANDAND == prev)
+ return true;
+ break;
+
+ case T_OR:
+ if (!impl::handle_parens(prev))
+ return false;
+ if (T_OR == prev)
+ return true;
+ break;
+
+ case T_XOR:
+ if (!impl::handle_parens(prev))
+ return false;
+ if (T_XOR == prev)
+ return true;
+ break;
+
         case T_COMPL_ALT:
         case T_OR_ALT:
         case T_AND_ALT:
@@ -313,23 +432,50 @@
         case T_ORASSIGN_ALT:
         case T_XORASSIGN_ALT:
         case T_NOTEQUAL_ALT:
- if (T_IDENTIFIER == prev || T_NONREPLACABLE_IDENTIFIER == prev ||
- IS_CATEGORY(prev, KeywordTokenType))
- return true;
+ switch (static_cast<unsigned int>(prev)) {
+ case T_LEFTPAREN:
+ case T_RIGHTPAREN:
+ case T_LEFTBRACKET:
+ case T_RIGHTBRACKET:
+ case T_LEFTBRACE:
+ case T_RIGHTBRACE:
+ case T_SEMICOLON:
+ case T_COMMA:
+ case T_COLON:
+ // no insertion between parens/brackets/braces and operators
+ return false;
+
+ case T_IDENTIFIER:
+ if (T_NONREPLACABLE_IDENTIFIER == prev ||
+ IS_CATEGORY(prev, KeywordTokenType))
+ {
+ return true;
+ }
+ break;
+
+ default:
+ break;
+ }
             break;
             
         case T_STAR:
             if (T_STAR == prev)
                 return false; // '*****' do not need to be separated
+ if (T_GREATER== prev &&
+ (T_MINUS == beforeprev || T_MINUSMINUS == beforeprev)
+ )
+ {
+ return true; // prevent ->*
+ }
             break;
         }
 
- // else, handle operators separately
- if (IS_CATEGORY(current, OperatorTokenType) &&
- IS_CATEGORY(prev, OperatorTokenType))
- {
- return true; // operators must be delimited always
- }
+ // FIXME: else, handle operators separately (will catch to many cases)
+// if (IS_CATEGORY(current, OperatorTokenType) &&
+// IS_CATEGORY(prev, OperatorTokenType))
+// {
+// return true; // operators must be delimited always
+// }
         return false;
     }
     void shift_tokens (boost::wave::token_id next_id)

Deleted: branches/fix-links/doc/html/functionN.html
==============================================================================
--- branches/fix-links/doc/html/functionN.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
+++ (empty file)
@@ -1,16 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
- <!-- Copyright (C) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
-
- 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) -->
- <title>Redirect to generated documentation</title>
- <meta http-equiv="refresh" content="0; URL=http://www.boost.org/regression-logs/cs-win32_metacomm/doc/html/functionN.html">
- </head>
- <body>
- Automatic redirection failed, please go to
- http://www.boost.org/regression-logs/cs-win32_metacomm/doc/html/functionN.html
- </body>
-</html>

Modified: branches/fix-links/libs/asio/example/allocation/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/allocation/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/allocation/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -33,5 +33,6 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;

Modified: branches/fix-links/libs/asio/example/buffers/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/buffers/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/buffers/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -33,5 +33,6 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;

Modified: branches/fix-links/libs/asio/example/chat/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/chat/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/chat/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -34,6 +34,7 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;
 

Modified: branches/fix-links/libs/asio/example/echo/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/echo/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/echo/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -34,6 +34,7 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;
 

Modified: branches/fix-links/libs/asio/example/http/client/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/http/client/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/http/client/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -33,6 +33,7 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;
 

Modified: branches/fix-links/libs/asio/example/http/server/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/http/server/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/http/server/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -42,5 +42,6 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;

Modified: branches/fix-links/libs/asio/example/http/server2/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/http/server2/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/http/server2/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -42,5 +42,6 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;

Modified: branches/fix-links/libs/asio/example/http/server3/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/http/server3/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/http/server3/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -41,5 +41,6 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;

Modified: branches/fix-links/libs/asio/example/invocation/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/invocation/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/invocation/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -33,5 +33,6 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;

Modified: branches/fix-links/libs/asio/example/iostreams/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/iostreams/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/iostreams/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -33,6 +33,7 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;
 

Modified: branches/fix-links/libs/asio/example/multicast/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/multicast/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/multicast/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -33,6 +33,7 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;
 

Modified: branches/fix-links/libs/asio/example/serialization/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/serialization/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/serialization/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -34,6 +34,7 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;
 

Modified: branches/fix-links/libs/asio/example/services/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/services/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/services/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -35,5 +35,6 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;

Modified: branches/fix-links/libs/asio/example/socks4/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/socks4/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/socks4/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -33,5 +33,6 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;

Modified: branches/fix-links/libs/asio/example/ssl/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/ssl/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/ssl/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -44,6 +44,7 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
     <library>ssl
     <library>crypto

Modified: branches/fix-links/libs/asio/example/timeouts/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/timeouts/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/timeouts/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -33,6 +33,7 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;
 

Modified: branches/fix-links/libs/asio/example/timers/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/timers/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/timers/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -33,6 +33,7 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;
 

Modified: branches/fix-links/libs/asio/example/tutorial/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/example/tutorial/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/example/tutorial/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -34,6 +34,7 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;
 

Modified: branches/fix-links/libs/asio/test/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/test/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/test/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -47,6 +47,7 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;
 

Modified: branches/fix-links/libs/asio/test/ssl/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/asio/test/ssl/Jamfile.v2 (original)
+++ branches/fix-links/libs/asio/test/ssl/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -44,6 +44,7 @@
     <os>NT,<toolset>gcc:<library>ws2_32
     <os>NT,<toolset>gcc:<library>mswsock
     <os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
+ <os>HPUX:<define>_XOPEN_SOURCE_EXTENDED
     <os>HPUX:<library>ipv6
   ;
 

Modified: branches/fix-links/libs/bimap/doc/acknowledgements.qbk
==============================================================================
--- branches/fix-links/libs/bimap/doc/acknowledgements.qbk (original)
+++ branches/fix-links/libs/bimap/doc/acknowledgements.qbk 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -32,18 +32,9 @@
 Boost.Bimap has abused. See the dependencies section for a complete list.
 
 I want to thank the open-source developers who wrote the tools I used
-during this project. The library was coded using Blade, a full
-open-source development environment composed, in my opinion, of the best
-tools for software building. The list of names is infinitely long, so I
+during this project. The list of names is infinitely long, so I
 give a general huge thanks here.
 
-__BOOST_BLADE_LOGO__
-
-The icons in the TOC of the main page are from [@http://www.kde-look.org/kde-look.org kde-look.org].
-I want to thank them for their effort in making the open-source world a beautiful
-place. When I find time, I will look for the authors' names. Please
-forgive me for omitting them for the moment.
-
 Thanks to Paul Giaccone for proof-reading this documentation. (He has
 not finished yet -- the remaining typos and spelling errors are mine and
 will be corrected as soon as possible.)

Modified: branches/fix-links/libs/bimap/doc/bimap.qbk
==============================================================================
--- branches/fix-links/libs/bimap/doc/bimap.qbk (original)
+++ branches/fix-links/libs/bimap/doc/bimap.qbk 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -21,7 +21,6 @@
 [/ Logos ]
 
 [def __BOOST_BIMAP_LOGO__ [$images/bimap/boost.bimap.logo.png]]
-[def __BOOST_BLADE_LOGO__ [$images/extern/boost.blade.logo.png]]
 [def __GOOGLE_SOC_2006__ [$images/extern/googlesoc.png]]
 
 [/ Helpers ]

Modified: branches/fix-links/libs/bimap/doc/directdoxygen.jam
==============================================================================
--- branches/fix-links/libs/bimap/doc/directdoxygen.jam (original)
+++ branches/fix-links/libs/bimap/doc/directdoxygen.jam 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -1,3 +1,12 @@
+# Boost.Bimap
+#
+# Copyright (c) 2006-2007 Matias Capeletto
+#
+# 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 type ;
 import generators ;
 

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/acknowledgements.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/acknowledgements.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/acknowledgements.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -14,8 +14,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -49,18 +49,8 @@
     </p>
 <p>
       I want to thank the open-source developers who wrote the tools I used during
- this project. The library was coded using Blade, a full open-source development
- environment composed, in my opinion, of the best tools for software building.
- The list of names is infinitely long, so I give a general huge thanks here.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../images/extern/boost.blade.logo.png" alt="boost.blade.logo"></span>
- </p>
-<p>
- The icons in the TOC of the main page are from kde-look.org.
- I want to thank them for their effort in making the open-source world a beautiful
- place. When I find time, I will look for the authors' names. Please forgive
- me for omitting them for the moment.
+ this project. The list of names is infinitely long, so I give a general huge
+ thanks here.
     </p>
 <p>
       Thanks to Paul Giaccone for proof-reading this documentation. (He has not finished
@@ -82,7 +72,7 @@
       a lot to Ion Gaztañaga for managing the review.
     </p>
 <a name="boost_bimap.acknowledgements.boost_bimap_team"></a><h4>
-<a name="id2735393"></a>
+<a name="id2735497"></a>
       <a href="acknowledgements.html#boost_bimap.acknowledgements.boost_bimap_team">Boost.Bimap Team</a>
     </h4>
 <p>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/bimap_and_boost.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/bimap_and_boost.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/bimap_and_boost.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -104,7 +104,7 @@
         in its own class every time they want to use it as a bidirectional map. Boost.Bimap
         takes advantage of the narrower scope to produce a better interface for bidirectional
         maps
- <sup>[<a name="id2644135" href="#ftn.id2644135">2</a>]</sup>
+ <sup>[<a name="id2644176" href="#ftn.id2644176">2</a>]</sup>
         . There is no learning curve if you know how to use standard containers.
         Great effort was put into mapping the naming scheme of the STL to Boost.Bimap.
         The library is designed to match the common STL containers.
@@ -153,7 +153,7 @@
 </div>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id2644135" href="#id2644135">2</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id2644176" href="#id2644176">2</a>] </sup>
             In the same fashion, Boost.MRU will allow the creation of <span class="emphasis"><em>most
             recent updated</em></span> aware containers, hiding the complexity of
             Boost.MultiIndex.

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/bimap_and_boost/boost_libraries_that_work_well_with_boost_bimap.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/bimap_and_boost/boost_libraries_that_work_well_with_boost_bimap.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/bimap_and_boost/boost_libraries_that_work_well_with_boost_bimap.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -15,8 +15,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -763,13 +763,13 @@
 </p>
 <pre class="programlisting">
 <span class="identifier">BOOST_FOREACH</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_reference</span> <span class="identifier">p</span><span class="special">,</span>
- <span class="special">(</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="string">"1"</span> <span class="special">&lt;=</span> <span class="identifier">_key</span><span class="special">,</span> <span class="identifier">_key</span> <span class="special">&lt;</span> <span class="string">"3"</span> <span class="special">)</span> <span class="special">))</span>
+ <span class="special">(</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">"1"</span><span class="special">)</span> <span class="special">&lt;=</span> <span class="identifier">_key</span><span class="special">,</span> <span class="identifier">_key</span> <span class="special">&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">"3"</span><span class="special">)</span> <span class="special">)</span> <span class="special">))</span>
 <span class="special">{</span>
     <span class="special">++</span><span class="identifier">p</span><span class="special">.</span><span class="identifier">second</span><span class="special">;</span>
 <span class="special">}</span>
 
 <span class="identifier">BOOST_FOREACH</span><span class="special">(</span> <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">left_const_reference</span> <span class="identifier">p</span><span class="special">,</span>
- <span class="special">(</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="string">"1"</span> <span class="special">&lt;=</span> <span class="identifier">_key</span><span class="special">,</span> <span class="identifier">_key</span> <span class="special">&lt;</span> <span class="string">"3"</span> <span class="special">)</span> <span class="special">))</span>
+ <span class="special">(</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">left</span><span class="special">.</span><span class="identifier">range</span><span class="special">(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">"1"</span><span class="special">)</span> <span class="special">&lt;=</span> <span class="identifier">_key</span><span class="special">,</span> <span class="identifier">_key</span> <span class="special">&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">"3"</span><span class="special">)</span> <span class="special">)</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="identifier">p</span><span class="special">.</span><span class="identifier">first</span> <span class="special">&lt;&lt;</span> <span class="string">"--&gt;"</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span><span class="special">.</span><span class="identifier">second</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>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/bimap_and_boost/dependencies.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/bimap_and_boost/dependencies.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/bimap_and_boost/dependencies.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -15,8 +15,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -36,7 +36,7 @@
         is the heart of this library.
       </p>
 <div class="table">
-<a name="id2653038"></a><p class="title"><b>Table 1.4. Boost Libraries needed by Boost.Bimap</b></p>
+<a name="id2653168"></a><p class="title"><b>Table 1.4. Boost Libraries needed by Boost.Bimap</b></p>
 <div class="table-contents"><table class="table" summary="Boost Libraries needed by Boost.Bimap">
 <colgroup>
 <col>
@@ -185,7 +185,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id2653312"></a><p class="title"><b>Table 1.5. Optional Boost Libraries</b></p>
+<a name="id2653442"></a><p class="title"><b>Table 1.5. Optional Boost Libraries</b></p>
 <div class="table-contents"><table class="table" summary="Optional Boost Libraries">
 <colgroup>
 <col>
@@ -355,7 +355,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id2653598"></a><p class="title"><b>Table 1.6. Additional Boost Libraries needed to run
+<a name="id2653728"></a><p class="title"><b>Table 1.6. Additional Boost Libraries needed to run
       the test-suite</b></p>
 <div class="table-contents"><table class="table" summary="Additional Boost Libraries needed to run
       the test-suite">

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/compiler_specifics.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/compiler_specifics.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/compiler_specifics.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -15,8 +15,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -326,7 +326,7 @@
 </tbody>
 </table></div>
 <a name="boost_bimap.compiler_specifics.vs_7_1"></a><h3>
-<a name="id2712139"></a>
+<a name="id2712269"></a>
       <a href="compiler_specifics.html#boost_bimap.compiler_specifics.vs_7_1">VS 7.1</a>
     </h3>
 <p>
@@ -335,7 +335,7 @@
       in msdn is to split the .cpp in several files or upgrade your compiler.
     </p>
 <a name="boost_bimap.compiler_specifics.vs_8_0"></a><h3>
-<a name="id2712168"></a>
+<a name="id2712297"></a>
       <a href="compiler_specifics.html#boost_bimap.compiler_specifics.vs_8_0">VS 8.0</a>
     </h3>
 <p>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/examples.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/examples.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/examples.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -14,8 +14,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -44,7 +44,7 @@
         find all the examples used in bimap documentation. Here is a list of them:
       </p>
 <div class="table">
-<a name="id2712289"></a><p class="title"><b>Table 1.7. Tutorial examples</b></p>
+<a name="id2712419"></a><p class="title"><b>Table 1.7. Tutorial examples</b></p>
 <div class="table-contents"><table class="table" summary="Tutorial examples">
 <colgroup>
 <col>
@@ -238,7 +238,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id2712769"></a><p class="title"><b>Table 1.8. Bimap and Boost examples</b></p>
+<a name="id2712899"></a><p class="title"><b>Table 1.8. Bimap and Boost examples</b></p>
 <div class="table-contents"><table class="table" summary="Bimap and Boost examples">
 <colgroup>
 <col>
@@ -361,7 +361,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id2712990"></a><p class="title"><b>Table 1.9. Boost.MultiIndex to Boost.Bimap path examples</b></p>
+<a name="id2713119"></a><p class="title"><b>Table 1.9. Boost.MultiIndex to Boost.Bimap path examples</b></p>
 <div class="table-contents"><table class="table" summary="Boost.MultiIndex to Boost.Bimap path examples">
 <colgroup>
 <col>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/mighty_bimap.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/mighty_bimap.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/mighty_bimap.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -15,8 +15,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/multiindex_to_bimap_path___bidirectional_map.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/multiindex_to_bimap_path___bidirectional_map.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/multiindex_to_bimap_path___bidirectional_map.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -42,7 +42,7 @@
         query of words in both languages.
       </p></div>
 <a name="boost_bimap.examples.multiindex_to_bimap_path___bidirectional_map.boost_multiindex"></a><h5>
-<a name="id2717964"></a>
+<a name="id2718093"></a>
         <a href="multiindex_to_bimap_path___bidirectional_map.html#boost_bimap.examples.multiindex_to_bimap_path___bidirectional_map.boost_multiindex">Boost.MultiIndex</a>
       </h5>
 <p>
@@ -151,7 +151,7 @@
 <p>
       </p>
 <a name="boost_bimap.examples.multiindex_to_bimap_path___bidirectional_map.boost_bimap"></a><h5>
-<a name="id2719723"></a>
+<a name="id2719852"></a>
         <a href="multiindex_to_bimap_path___bidirectional_map.html#boost_bimap.examples.multiindex_to_bimap_path___bidirectional_map.boost_bimap">Boost.Bimap</a>
       </h5>
 <p>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/multiindex_to_bimap_path___hashed_indices.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/multiindex_to_bimap_path___hashed_indices.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/multiindex_to_bimap_path___hashed_indices.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -40,7 +40,7 @@
         hashed index.
       </p></div>
 <a name="boost_bimap.examples.multiindex_to_bimap_path___hashed_indices.boost_multiindex"></a><h5>
-<a name="id2722451"></a>
+<a name="id2722582"></a>
         <a href="multiindex_to_bimap_path___hashed_indices.html#boost_bimap.examples.multiindex_to_bimap_path___hashed_indices.boost_multiindex">Boost.MultiIndex</a>
       </h5>
 <p>
@@ -141,7 +141,7 @@
 <p>
       </p>
 <a name="boost_bimap.examples.multiindex_to_bimap_path___hashed_indices.boost_bimap"></a><h5>
-<a name="id2724198"></a>
+<a name="id2724327"></a>
         <a href="multiindex_to_bimap_path___hashed_indices.html#boost_bimap.examples.multiindex_to_bimap_path___hashed_indices.boost_bimap">Boost.Bimap</a>
       </h5>
 <p>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/simple_bimap.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/simple_bimap.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/examples/simple_bimap.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -14,8 +14,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/future_work.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/future_work.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/future_work.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -14,8 +14,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -27,7 +27,7 @@
 <a name="boost_bimap.future_work"></a>Future work
 </h2></div></div></div>
 <a name="boost_bimap.future_work.rearrange_function"></a><h4>
-<a name="id2726729"></a>
+<a name="id2726859"></a>
       <a href="future_work.html#boost_bimap.future_work.rearrange_function">Rearrange Function</a>
     </h4>
 <p>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/history.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/history.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/history.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/history/multiindex_and_bimap.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/history/multiindex_and_bimap.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/history/multiindex_and_bimap.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -15,8 +15,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/introduction.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/introduction.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/introduction.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -14,8 +14,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -27,7 +27,7 @@
 <a name="boost_bimap.introduction"></a>Introduction
 </h2></div></div></div>
 <a name="boost_bimap.introduction.how_to_use_this_document"></a><h4>
-<a name="id2568681"></a>
+<a name="id2568705"></a>
       <a href="introduction.html#boost_bimap.introduction.how_to_use_this_document">How to use
       this document</a>
     </h4>
@@ -102,7 +102,7 @@
       </p></td></tr>
 </table></div>
 <a name="boost_bimap.introduction.navigation"></a><h4>
-<a name="id2567594"></a>
+<a name="id2567618"></a>
       <a href="introduction.html#boost_bimap.introduction.navigation">Navigation</a>
     </h4>
 <p>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/one_minute_tutorial.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/one_minute_tutorial.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/one_minute_tutorial.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -14,8 +14,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -27,7 +27,7 @@
 <a name="boost_bimap.one_minute_tutorial"></a>One minute tutorial
 </h2></div></div></div>
 <a name="boost_bimap.one_minute_tutorial.what_is_a_bimap_"></a><h4>
-<a name="id2567894"></a>
+<a name="id2567917"></a>
       <a href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.what_is_a_bimap_">What is a
       bimap?</a>
     </h4>
@@ -53,7 +53,7 @@
 <p>
       Given this code, the following is the complete description of the resulting
       bimap.
- <sup>[<a name="id2614376" href="#ftn.id2614376">1</a>]</sup>
+ <sup>[<a name="id2614398" href="#ftn.id2614398">1</a>]</sup>
     </p>
 <div class="itemizedlist"><ul type="disc">
 <li>
@@ -109,7 +109,7 @@
 ...
 </pre>
 <a name="boost_bimap.one_minute_tutorial.layout_of_the_relation_and_the_pairs_of_a_bimap"></a><h4>
-<a name="id2615141"></a>
+<a name="id2615163"></a>
       <a href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.layout_of_the_relation_and_the_pairs_of_a_bimap">Layout
       of the relation and the pairs of a bimap</a>
     </h4>
@@ -123,7 +123,7 @@
       <span class="inlinemediaobject"><img src="../images/bimap/relation.and.pair.png" alt="relation.and.pair"></span>
     </p>
 <a name="boost_bimap.one_minute_tutorial.step_by_step"></a><h4>
-<a name="id2615219"></a>
+<a name="id2615242"></a>
       <a href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.step_by_step">Step by step</a>
     </h4>
 <p>
@@ -149,7 +149,7 @@
 <p>
     </p>
 <a name="boost_bimap.one_minute_tutorial.the_collection_of_relations_view"></a><h4>
-<a name="id2615391"></a>
+<a name="id2615413"></a>
       <a href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.the_collection_of_relations_view">The
       collection of relations view</a>
     </h4>
@@ -183,7 +183,7 @@
 <p>
     </p>
 <a name="boost_bimap.one_minute_tutorial.the_left_map_view"></a><h4>
-<a name="id2615896"></a>
+<a name="id2615920"></a>
       <a href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.the_left_map_view">The left
       map view</a>
     </h4>
@@ -247,7 +247,7 @@
 <p>
     </p>
 <a name="boost_bimap.one_minute_tutorial.the_right_map_view"></a><h4>
-<a name="id2616744"></a>
+<a name="id2616766"></a>
       <a href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.the_right_map_view">The right
       map view</a>
     </h4>
@@ -293,7 +293,7 @@
 <p>
     </p>
 <a name="boost_bimap.one_minute_tutorial.differences_with_std__map"></a><h4>
-<a name="id2617246"></a>
+<a name="id2617268"></a>
       <a href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.differences_with_std__map">Differences
       with std::map</a>
     </h4>
@@ -326,7 +326,7 @@
 <span class="identifier">assert</span><span class="special">(</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span>
 </pre>
 <a name="boost_bimap.one_minute_tutorial.a_simple_example"></a><h4>
-<a name="id2618001"></a>
+<a name="id2618024"></a>
       <a href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.a_simple_example">A simple example</a>
     </h4>
 <p>
@@ -423,7 +423,7 @@
 <code class="literal">Spain ends in position 2</code>
 </pre>
 <a name="boost_bimap.one_minute_tutorial.continuing_the_journey"></a><h4>
-<a name="id2619434"></a>
+<a name="id2619457"></a>
       <a href="one_minute_tutorial.html#boost_bimap.one_minute_tutorial.continuing_the_journey">Continuing
       the journey</a>
     </h4>
@@ -449,7 +449,7 @@
 </table></div>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id2614376" href="#id2614376">1</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id2614398" href="#id2614398">1</a>] </sup>
           A type is <span class="emphasis"><em>signature-compatible</em></span> with other type if
           it has the same signature for functions and metadata. Preconditions, postconditions
           and the order of operations need not be the same.

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/performance.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/performance.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/performance.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -14,8 +14,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -15,8 +15,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -155,7 +155,7 @@
         as being simple and powerful. This is the general design.
       </p>
 <a name="boost_bimap.rationale.general_design.relation_implementation"></a><h5>
-<a name="id2728525"></a>
+<a name="id2728654"></a>
         <a href="rationale.html#boost_bimap.rationale.general_design.relation_implementation">Relation
         Implementation</a>
       </h5>
@@ -258,7 +258,7 @@
         </p></td></tr>
 </table></div>
 <a name="boost_bimap.rationale.general_design.bimap_implementation"></a><h5>
-<a name="id2729115"></a>
+<a name="id2729244"></a>
         <a href="rationale.html#boost_bimap.rationale.general_design.bimap_implementation">Bimap
         Implementation</a>
       </h5>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale/additional_features.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale/additional_features.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale/additional_features.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -15,8 +15,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -30,7 +30,7 @@
       Features</a>
 </h3></div></div></div>
 <a name="boost_bimap.rationale.additional_features.n_1__n_n__hashed_maps"></a><h5>
-<a name="id2729403"></a>
+<a name="id2729533"></a>
         <a href="additional_features.html#boost_bimap.rationale.additional_features.n_1__n_n__hashed_maps">N-1,
         N-N, hashed maps</a>
       </h5>
@@ -62,7 +62,7 @@
         <span class="inlinemediaobject"><img src="../../images/bimap/bimap.structures.png" alt="bimap.structures"></span>
       </p>
 <a name="boost_bimap.rationale.additional_features.collection_type_of_relation_constraints"></a><h5>
-<a name="id2729511"></a>
+<a name="id2729641"></a>
         <a href="additional_features.html#boost_bimap.rationale.additional_features.collection_type_of_relation_constraints">Collection
         type of relation constraints</a>
       </h5>
@@ -106,7 +106,7 @@
         uses further metaprogramming to define a new index if necessary.
       </p>
 <a name="boost_bimap.rationale.additional_features.tagged"></a><h5>
-<a name="id2729600"></a>
+<a name="id2729729"></a>
         <a href="additional_features.html#boost_bimap.rationale.additional_features.tagged">Tagged</a>
       </h5>
 <p>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale/code.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale/code.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale/code.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -36,7 +36,7 @@
         Library Requirement and Guidelines</a> as closely as possible.
       </p>
 <div class="table">
-<a name="id2729714"></a><p class="title"><b>Table 1.10. folders in boost/bimap</b></p>
+<a name="id2729843"></a><p class="title"><b>Table 1.10. folders in boost/bimap</b></p>
 <div class="table-contents"><table class="table" summary="folders in boost/bimap">
 <colgroup>
 <col>
@@ -127,7 +127,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id2729844"></a><p class="title"><b>Table 1.11. folders in each folder</b></p>
+<a name="id2729974"></a><p class="title"><b>Table 1.11. folders in each folder</b></p>
 <div class="table-contents"><table class="table" summary="folders in each folder">
 <colgroup>
 <col>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale/the_student_and_the_mentor.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale/the_student_and_the_mentor.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/rationale/the_student_and_the_mentor.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -15,8 +15,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/reference.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/reference.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/reference.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -14,8 +14,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/bimap_reference.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/bimap_reference.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/bimap_reference.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -14,8 +14,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/list_of_reference.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/list_of_reference.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/list_of_reference.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/set_of_reference.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/set_of_reference.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/set_of_reference.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -15,8 +15,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/unconstrained_set_of_reference.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/unconstrained_set_of_reference.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/unconstrained_set_of_reference.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/unordered_set_of_reference.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/unordered_set_of_reference.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/unordered_set_of_reference.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -15,8 +15,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/vector_of_reference.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/vector_of_reference.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/reference/vector_of_reference.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/release_notes.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/release_notes.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/release_notes.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -14,8 +14,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/test_suite.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/test_suite.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/test_suite.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -15,8 +15,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -15,8 +15,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/additional_information.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/additional_information.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/additional_information.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -17,8 +17,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/bimaps_with_user_defined_names.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/bimaps_with_user_defined_names.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/bimaps_with_user_defined_names.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -129,7 +129,7 @@
 </span>
 <span class="keyword">typedef</span> <span class="identifier">bimap</span>
 <span class="special">&lt;</span>
- <span class="identifier">tagged</span><span class="special">&lt;</span> <span class="keyword">int</span> <span class="special">,</span> <span class="identifier">id</span> <span class="special">&gt;</span> <span class="special">,</span>
+ <span class="identifier">tagged</span><span class="special">&lt;</span> <span class="keyword">int</span> <span class="special">,</span> <span class="identifier">id</span> <span class="special">&gt;</span> <span class="special">,</span>
     <span class="identifier">multiset_of</span><span class="special">&lt;</span> <span class="identifier">tagged</span><span class="special">&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
 
 <span class="special">&gt;</span> <span class="identifier">People</span><span class="special">;</span>
@@ -188,7 +188,7 @@
 <span class="identifier">bm_type</span><span class="special">::</span><span class="identifier">right_iterator</span> <span class="identifier">right_iter</span> <span class="special">=</span> <span class="identifier">bm</span><span class="special">.</span><span class="identifier">right</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span>
 </pre>
 <div class="table">
-<a name="id2638326"></a><p class="title"><b>Table 1.3. Equivalence of expresions using user defined names</b></p>
+<a name="id2638349"></a><p class="title"><b>Table 1.3. Equivalence of expresions using user defined names</b></p>
 <div class="table-contents"><table class="table" summary="Equivalence of expresions using user defined names">
 <colgroup>
 <col>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/complete_instantiation_scheme.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/complete_instantiation_scheme.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/complete_instantiation_scheme.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -68,14 +68,15 @@
 </li>
 </ul></div>
 <pre class="programlisting">
-<span class="identifier">bimap</span><span class="special">&lt;</span> #<span class="special">[</span>#<span class="identifier">CollectionType</span><span class="special">]</span>#<span class="identifier">_of</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;,</span> <span class="identifier">R</span> <span class="special">&gt;</span>
+<span class="identifier">bimap</span><span class="special">&lt;</span> <span class="special">{</span><span class="identifier">CollectionType</span><span class="special">}</span><span class="identifier">_of</span><span class="special">&lt;</span> <span class="identifier">Type</span> <span class="special">&gt;,</span> <span class="identifier">R</span> <span class="special">&gt;</span>
 </pre>
 <div class="itemizedlist"><ul type="disc">
 <li>
           Left type: <code class="computeroutput"><span class="identifier">Type</span></code>
 </li>
 <li>
- Left collection type: <span class="emphasis"><em>CollectionType</em></span><code class="computeroutput"><span class="identifier">_of</span><span class="special">&lt;</span> <span class="identifier">LeftType</span> <span class="special">&gt;</span></code>
+ Left collection type: <code class="computeroutput"><span class="special">{</span><span class="identifier">CollectionType</span><span class="special">}</span><span class="identifier">_of</span><span class="special">&lt;</span> <span class="identifier">LeftType</span>
+ <span class="special">&gt;</span></code>
 </li>
 <li>
           Left tag: <code class="computeroutput"><span class="identifier">member_at</span><span class="special">::</span><span class="identifier">left</span></code>
@@ -97,14 +98,15 @@
 </li>
 </ul></div>
 <pre class="programlisting">
-<span class="identifier">bimap</span><span class="special">&lt;</span> #<span class="special">[</span>#<span class="identifier">CollectionType</span><span class="special">]</span>#<span class="identifier">_of</span><span class="special">&lt;</span> <span class="identifier">tagged</span><span class="special">&lt;</span> <span class="identifier">Type</span><span class="special">,</span> <span class="identifier">Tag</span> <span class="special">&gt;</span> <span class="special">&gt;,</span> <span class="identifier">R</span> <span class="special">&gt;</span>
+<span class="identifier">bimap</span><span class="special">&lt;</span> <span class="special">{</span><span class="identifier">CollectionType</span><span class="special">}</span><span class="identifier">_of</span><span class="special">&lt;</span> <span class="identifier">tagged</span><span class="special">&lt;</span> <span class="identifier">Type</span><span class="special">,</span> <span class="identifier">Tag</span> <span class="special">&gt;</span> <span class="special">&gt;,</span> <span class="identifier">R</span> <span class="special">&gt;</span>
 </pre>
 <div class="itemizedlist"><ul type="disc">
 <li>
           Left type: <code class="computeroutput"><span class="identifier">Type</span></code>
 </li>
 <li>
- Left collection type: <span class="emphasis"><em>CollectionType</em></span><code class="computeroutput"><span class="identifier">_of</span><span class="special">&lt;</span> <span class="identifier">LeftType</span> <span class="special">&gt;</span></code>
+ Left collection type: <code class="computeroutput"><span class="special">{</span><span class="identifier">CollectionType</span><span class="special">}</span><span class="identifier">_of</span><span class="special">&lt;</span> <span class="identifier">LeftType</span>
+ <span class="special">&gt;</span></code>
 </li>
 <li>
           Left tag: <code class="computeroutput"><span class="identifier">Tag</span></code>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/controlling_collection_types.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/controlling_collection_types.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/controlling_collection_types.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -17,8 +17,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -65,7 +65,7 @@
           The following is the list of all supported collection types.
         </p>
 <div class="table">
-<a name="id2621906"></a><p class="title"><b>Table 1.2. Collection of Key Types</b></p>
+<a name="id2621928"></a><p class="title"><b>Table 1.2. Collection of Key Types</b></p>
 <div class="table-contents"><table class="table" summary="Collection of Key Types">
 <colgroup>
 <col>
@@ -360,7 +360,7 @@
 <a name="boost_bimap.the_tutorial.controlling_collection_types.examples"></a>Examples
 </h4></div></div></div>
 <a name="boost_bimap.the_tutorial.controlling_collection_types.examples.countries_populations"></a><h6>
-<a name="id2623120"></a>
+<a name="id2623142"></a>
           <a href="controlling_collection_types.html#boost_bimap.the_tutorial.controlling_collection_types.examples.countries_populations">Countries
           Populations</a>
         </h6>
@@ -464,7 +464,7 @@
 <p>
         </p>
 <a name="boost_bimap.the_tutorial.controlling_collection_types.examples.repetitions_counter"></a><h6>
-<a name="id2624454"></a>
+<a name="id2624476"></a>
           <a href="controlling_collection_types.html#boost_bimap.the_tutorial.controlling_collection_types.examples.repetitions_counter">Repetitions
           counter</a>
         </h6>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/differences_with_standard_maps.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/differences_with_standard_maps.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/differences_with_standard_maps.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/discovering_the_bimap_framework.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/discovering_the_bimap_framework.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/discovering_the_bimap_framework.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -78,7 +78,7 @@
           containers.
         </p>
 <div class="table">
-<a name="id2619812"></a><p class="title"><b>Table 1.1. std associative containers</b></p>
+<a name="id2619834"></a><p class="title"><b>Table 1.1. std associative containers</b></p>
 <div class="table-contents"><table class="table" summary="std associative containers">
 <colgroup>
 <col>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/the_collection_of_relations_type.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/the_collection_of_relations_type.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/the_collection_of_relations_type.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -17,8 +17,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/unconstrained_sets.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/unconstrained_sets.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/unconstrained_sets.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -17,8 +17,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/useful_functions.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/useful_functions.html (original)
+++ branches/fix-links/libs/bimap/doc/html/boost_bimap/the_tutorial/useful_functions.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -16,8 +16,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>

Deleted: branches/fix-links/libs/bimap/doc/html/images/caution.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/bimap/doc/html/images/extern/boost.blade.logo.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/bimap/doc/html/images/home.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/bimap/doc/html/images/important.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/bimap/doc/html/images/next.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/bimap/doc/html/images/note.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/bimap/doc/html/images/prev.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/bimap/doc/html/images/tip.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/bimap/doc/html/images/up.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/bimap/doc/html/images/warning.png
==============================================================================
Binary file. No diff available.

Modified: branches/fix-links/libs/bimap/doc/html/index.html
==============================================================================
--- branches/fix-links/libs/bimap/doc/html/index.html (original)
+++ branches/fix-links/libs/bimap/doc/html/index.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -12,8 +12,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -27,7 +27,7 @@
 </h3></div></div>
 <div><p class="copyright">Copyright © 2006 -2007 Matias Capeletto</p></div>
 <div><div class="legalnotice">
-<a name="id2604918"></a><p>
+<a name="id2604940"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -120,7 +120,7 @@
 <a name="bimap.preface"></a>Preface
 </h2></div></div></div>
 <a name="bimap.preface.description"></a><h4>
-<a name="id2604956"></a>
+<a name="id2604978"></a>
       <a href="index.html#bimap.preface.description">Description</a>
     </h4>
 <p>
@@ -137,7 +137,7 @@
       containers.
     </p>
 <a name="bimap.preface.influences_and_related_work"></a><h4>
-<a name="id2568634"></a>
+<a name="id2568656"></a>
       <a href="index.html#bimap.preface.influences_and_related_work">Influences and Related
       Work</a>
     </h4>
@@ -149,7 +149,7 @@
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: November 30, 2007 at 19:10:09 GMT</small></p></td>
+<td align="left"><p><small>Last revised: February 14, 2008 at 19:01:52 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: branches/fix-links/libs/bimap/doc/tutorial.qbk
==============================================================================
--- branches/fix-links/libs/bimap/doc/tutorial.qbk (original)
+++ branches/fix-links/libs/bimap/doc/tutorial.qbk 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -962,10 +962,10 @@
 * Left collection type: `set_of< Type >`
 * Left tag: `member_at::left`
 
- bimap< `['CollectionType]`_of< Type >, R >
+ bimap< {CollectionType}_of< Type >, R >
 
 * Left type: `Type`
-* Left collection type: ['CollectionType]`_of< LeftType >`
+* Left collection type: `{CollectionType}_of< LeftType >`
 * Left tag: `member_at::left`
 
     bimap< tagged< Type, Tag >, R >
@@ -974,10 +974,10 @@
 * Left collection type: `set_of< LeftType >`
 * Left tag: `Tag`
 
- bimap< `['CollectionType]`_of< tagged< Type, Tag > >, R >
+ bimap< {CollectionType}_of< tagged< Type, Tag > >, R >
 
 * Left type: `Type`
-* Left collection type: ['CollectionType]`_of< LeftType >`
+* Left collection type: `{CollectionType}_of< LeftType >`
 * Left tag: `Tag`
 
 The same options are available for the second parameter.

Modified: branches/fix-links/libs/bimap/example/user_defined_names.cpp
==============================================================================
--- branches/fix-links/libs/bimap/example/user_defined_names.cpp (original)
+++ branches/fix-links/libs/bimap/example/user_defined_names.cpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -97,7 +97,7 @@
 
     typedef bimap
     <
- tagged< int , id > ,
+ tagged< int , id > ,
         multiset_of< tagged< std::string, name > >
 
> People;

Modified: branches/fix-links/libs/bimap/index.html
==============================================================================
--- branches/fix-links/libs/bimap/index.html (original)
+++ branches/fix-links/libs/bimap/index.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -5,5 +5,10 @@
 <body>
 Automatic redirection failed, please go to the
 <a href="doc/html/index.html">Boost.Bimap documentation</a>.
+<p>Copyright&nbsp;Matias Capeletto 2006-2007</p>
+<p>Distributed under the Boost Software License, Version 1.0. (See accompanying file
+LICENSE_1_0.txt or copy at
+www.boost.org/LICENSE_1_0.txt).
+</p>
 </body>
 </html>

Modified: branches/fix-links/libs/bind/test/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/bind/test/Jamfile.v2 (original)
+++ branches/fix-links/libs/bind/test/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -27,6 +27,7 @@
       [ run bind_visit_test.cpp ]
       [ run bind_placeholder_test.cpp ]
       [ run bind_rvalue_test.cpp ]
+ [ run bind_and_or_test.cpp ]
       [ run mem_fn_test.cpp ]
       [ run mem_fn_void_test.cpp ]
       [ run mem_fn_derived_test.cpp ]

Deleted: branches/fix-links/libs/fusion/doc/html/fusion/extension/macros.html
==============================================================================
--- branches/fix-links/libs/fusion/doc/html/fusion/extension/macros.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
+++ (empty file)
@@ -1,47 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Macros</title>
-<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
-<link rel="start" href="../../index.html" title="Chapter 1. Fusion 2.0">
-<link rel="up" href="../extension.html" title="Extension">
-<link rel="prev" href="iterator_facade.html" title="Iterator Facade">
-<link rel="next" href="macros/adapt_struct.html" title=" BOOST_FUSION_ADAPT_STRUCT">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="iterator_facade.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extension.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="macros/adapt_struct.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="fusion.extension.macros"></a>Macros</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"> BOOST_FUSION_ADAPT_STRUCT</span></dt>
-<dt><span class="section"> BOOST_FUSION_ADAPT_ASSOC_STRUCT</span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
- Schwinger<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="iterator_facade.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extension.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="macros/adapt_struct.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Modified: branches/fix-links/libs/iostreams/src/file_descriptor.cpp
==============================================================================
--- branches/fix-links/libs/iostreams/src/file_descriptor.cpp (original)
+++ branches/fix-links/libs/iostreams/src/file_descriptor.cpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -173,7 +173,7 @@
     DWORD result;
     if (!::ReadFile(pimpl_->handle_, s, n, &result, NULL))
         throw detail::bad_read();
- return static_cast<std::streamsize>(result);
+ return result == 0 ? -1 : static_cast<std::streamsize>(result);
 #else // #ifdef BOOST_IOSTREAMS_WINDOWS
     errno = 0;
     std::streamsize result = BOOST_IOSTREAMS_FD_READ(pimpl_->handle_, s, n);

Modified: branches/fix-links/libs/iostreams/src/mapped_file.cpp
==============================================================================
--- branches/fix-links/libs/iostreams/src/mapped_file.cpp (original)
+++ branches/fix-links/libs/iostreams/src/mapped_file.cpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -14,6 +14,9 @@
 #define BOOST_IOSTREAMS_SOURCE
 
 #include <cassert>
+#ifndef NDEBUG
+# include <boost/iostreams/detail/absolute_path.hpp>
+#endif
 #include <boost/iostreams/detail/config/dyn_link.hpp>
 #include <boost/iostreams/detail/config/windows_posix.hpp>
 #include <boost/iostreams/detail/ios.hpp> // failure.
@@ -56,6 +59,9 @@
     #else
         handle_ = 0;
     #endif
+ #ifndef NDEBUG
+ path_.erase();
+ #endif
     }
     void close()
     {
@@ -78,8 +84,16 @@
         data_ = 0;
         size_ = 0;
         mode_ = BOOST_IOS::openmode();
- if (error)
- throw_system_failure("error closing mapped file");
+ if (error) {
+ std::string msg("error closing mapped file");
+ #ifndef NDEBUG
+ msg += std::string(" (\"") + path_ + "\")";
+ #endif
+ throw_system_failure(msg);
+ }
+ #ifndef NDEBUG
+ path_.erase();
+ #endif
     }
     char* data_;
     std::size_t size_;
@@ -91,6 +105,9 @@
 #else
     int handle_;
 #endif
+#ifndef NDEBUG
+ std::string path_;
+#endif
 };
 
 } // End namespace detail.
@@ -147,8 +164,11 @@
 
 namespace detail {
 
-void cleanup_and_throw(detail::mapped_file_impl& impl, const char* msg)
+void cleanup_and_throw(detail::mapped_file_impl& impl, std::string msg)
 {
+ #ifndef NDEBUG
+ msg += std::string(" (\"") + impl.path_ + "\")";
+ #endif
     if (impl.mapped_handle_ != INVALID_HANDLE_VALUE)
         ::CloseHandle(impl.mapped_handle_);
     if (impl.handle_ != NULL)
@@ -171,6 +191,9 @@
         pimpl_->clear(false);
     bool readonly = (p.mode & BOOST_IOS::out) == 0;
     pimpl_->mode_ = readonly ? BOOST_IOS::in : (BOOST_IOS::in | BOOST_IOS::out);
+ #ifndef NDEBUG
+ pimpl_->path_ = detail::absolute_path(p.path);
+ #endif
 
     //--------------Open underlying file--------------------------------------//
 
@@ -187,8 +210,9 @@
                            FILE_ATTRIBUTE_TEMPORARY,
                        NULL );
 
- if (pimpl_->handle_ == INVALID_HANDLE_VALUE)
+ if (pimpl_->handle_ == INVALID_HANDLE_VALUE) {
         detail::cleanup_and_throw(*pimpl_, "failed opening file");
+ }
 
     //--------------Set file size---------------------------------------------//
 
@@ -295,8 +319,11 @@
 
 namespace detail {
 
-void cleanup_and_throw(detail::mapped_file_impl& impl, const char* msg)
+ void cleanup_and_throw(detail::mapped_file_impl& impl, std::string msg)
 {
+ #ifndef NDEBUG
+ msg += std::string(" (\"") + impl.path_ + "\")";
+ #endif
     if (impl.handle_ != 0)
         ::close(impl.handle_);
     impl.clear(true);
@@ -318,6 +345,9 @@
         pimpl_->clear(false);
     bool readonly = (p.mode & BOOST_IOS::out) == 0;
     pimpl_->mode_ = readonly ? BOOST_IOS::in : (BOOST_IOS::in | BOOST_IOS::out);
+ #ifndef NDEBUG
+ pimpl_->path_ = detail::absolute_path(p.path);
+ #endif
 
     //--------------Open underlying file--------------------------------------//
 

Modified: branches/fix-links/libs/iostreams/test/detail/utf8_codecvt_facet.hpp
==============================================================================
--- branches/fix-links/libs/iostreams/test/detail/utf8_codecvt_facet.hpp (original)
+++ branches/fix-links/libs/iostreams/test/detail/utf8_codecvt_facet.hpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -52,7 +52,7 @@
 
 #include <locale>
 #include <cstddef> // size_t
-#include <wchar.h> // mbstate_t
+#include <cwchar> // mbstate_t
 #include <boost/integer_traits.hpp>
 #include <boost/iostreams/detail/config/wide_streams.hpp>
 #include <boost/iostreams/detail/codecvt_helper.hpp>

Modified: branches/fix-links/libs/iostreams/test/large_file_test.cpp
==============================================================================
--- branches/fix-links/libs/iostreams/test/large_file_test.cpp (original)
+++ branches/fix-links/libs/iostreams/test/large_file_test.cpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -70,11 +70,11 @@
       0, 8, 0 }; // Seek by 8GB
 const int offset_list_length = sizeof(offset_list) / sizeof(int);
 #ifdef LARGE_FILE_TEMP
- const char* file_name = BOOST_STRINGIZE(LARGE_FILE_TEMP);
- const bool keep_file = false;
+# define BOOST_FILE_NAME BOOST_STRINGIZE(LARGE_FILE_TEMP)
+# define BOOST_KEEP_FILE false
 #else
- const char* file_name = BOOST_STRINGIZE(LARGE_FILE_KEEP);
- const bool keep_file = true;
+# define BOOST_FILE_NAME BOOST_STRINGIZE(LARGE_FILE_KEEP)
+# define BOOST_KEEP_FILE true
 #endif
 
 //------------------Definition of remove_large_file---------------------------//
@@ -83,9 +83,9 @@
 void remove_large_file()
 {
 #ifdef BOOST_IOSTREAMS_WINDOWS
- DeleteFile(TEXT(file_name));
+ DeleteFile(TEXT(BOOST_FILE_NAME));
 #else
- unlink(file_name);
+ unlink(BOOST_FILE_NAME);
 #endif
 }
 
@@ -103,7 +103,7 @@
 
     // Check existence
     WIN32_FIND_DATA info;
- HANDLE hnd = FindFirstFile(TEXT(file_name), &info);
+ HANDLE hnd = FindFirstFile(TEXT(BOOST_FILE_NAME), &info);
     if (hnd == INVALID_HANDLE_VALUE)
         return false;
 
@@ -137,7 +137,7 @@
 
     // Check existence
     struct BOOST_IOSTREAMS_FD_STAT info;
- if (BOOST_IOSTREAMS_FD_STAT(file_name, &info))
+ if (BOOST_IOSTREAMS_FD_STAT(BOOST_FILE_NAME, &info))
         return false;
 
     // Check size
@@ -187,7 +187,7 @@
     for (stream_offset z = 0; z <= 8; ++z) {
         try {
             mapped_file_params params;
- params.path = file_name;
+ params.path = BOOST_FILE_NAME;
             params.offset = z * gigabyte;
             params.length = 1;
             params.mode = BOOST_IOS::out;
@@ -216,7 +216,7 @@
 bool create_large_file()
 {
     // If file exists, has correct size, and is recent, we're done
- if (keep_file && large_file_exists())
+ if (BOOST_KEEP_FILE && large_file_exists())
         return true;
 
 #ifdef BOOST_IOSTREAMS_WINDOWS
@@ -224,7 +224,7 @@
     // Create file
     HANDLE hnd =
         CreateFile(
- TEXT(file_name),
+ TEXT(BOOST_FILE_NAME),
             GENERIC_WRITE,
             0,
             NULL,
@@ -306,7 +306,7 @@
         S_IRUSR | S_IWUSR |
         S_IRGRP | S_IWGRP |
         S_IROTH | S_IWOTH;
- int fd = BOOST_IOSTREAMS_FD_OPEN(file_name, oflag, pmode);
+ int fd = BOOST_IOSTREAMS_FD_OPEN(BOOST_FILE_NAME, oflag, pmode);
     if (fd == -1)
         return false;
 
@@ -363,9 +363,9 @@
 class large_file {
 public:
     large_file() { exists_ = create_large_file(); }
- ~large_file() { if (!keep_file) remove_large_file(); }
+ ~large_file() { if (!BOOST_KEEP_FILE) remove_large_file(); }
     bool exists() const { return exists_; }
- const char* path() const { return file_name; }
+ const char* path() const { return BOOST_FILE_NAME; }
 private:
     bool exists_;
 };
@@ -396,7 +396,9 @@
     // Prepare file and file descriptor
     large_file large;
     file_descriptor_source file;
- BOOST_REQUIRE_MESSAGE(large.exists(), "failed creating file");
+ BOOST_REQUIRE_MESSAGE(
+ large.exists(), "failed creating file \"" << BOOST_FILE_NAME << '"'
+ );
     BOOST_CHECK_NO_THROW(file.open(large.path(), BOOST_IOS::binary));
 
     // Test seeking using ios_base::beg

Modified: branches/fix-links/libs/libraries.htm
==============================================================================
--- branches/fix-links/libs/libraries.htm (original)
+++ branches/fix-links/libs/libraries.htm 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -185,12 +185,12 @@
     <li>multi_index - Containers with
     multiple STL-compatible access interfaces, from Joaqu&iacute;n M L&oacute;pez
     Mu&ntilde;oz.</li>
- <li>numeric/conversion - Optimized Policy-based Numeric Conversions,
+ <li>numeric/conversion - Optimized Policy-based Numeric Conversions,
         from Fernando Cacciola.</li>
     <li>operators - Templates
         ease arithmetic classes and iterators, from Dave Abrahams
         and Jeremy Siek.</li>
- <li>optional - Discriminated-union
+ <li>optional - Discriminated-union
     wrapper for optional values, from Fernando Cacciola.</li>
 
     <li><span class="library"><a href=
@@ -490,7 +490,7 @@
         calculation, and collection of statistical accumulators, from Eric Niebler.</li>
     <li>math - Several contributions in the
     domain of mathematics, from various authors.</li>
- <li>numeric/conversion - Optimized Policy-based Numeric Conversions,
+ <li>numeric/conversion - Optimized Policy-based Numeric Conversions,
         from Fernando Cacciola.</li>
     <li>integer - Headers to ease
         dealing with integral types.</li>
@@ -639,7 +639,7 @@
         Hinnant, et al.</li>
     <li>conversion - Polymorphic and lexical casts, from Dave Abrahams and
         Kevlin Henney.</li>
- <li>numeric/conversion - Optimized Policy-based Numeric Conversions,
+ <li>numeric/conversion - Optimized Policy-based Numeric Conversions,
         from Fernando Cacciola.</li>
     <li>crc - Cyclic Redundancy Code, from Daryle
       Walker.</li>
@@ -647,7 +647,7 @@
     <li>filesystem - Portable paths,
     iteration over directories, and other useful filesystem operations, from
     Beman Dawes.</li>
- <li>optional - Discriminated-union
+ <li>optional - Discriminated-union
     wrapper for optional values, from Fernando Cacciola.</li>
     <li>program_options - Access to configuration
         data given on command line, in config files and other sources, from Vladimir Prus.</li>

Modified: branches/fix-links/libs/numeric/conversion/doc/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/Jamfile.v2 (original)
+++ branches/fix-links/libs/numeric/conversion/doc/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -1,8 +1,30 @@
+# Boost.Numeric/Conversion
+#
+# Copyright (c) 2004-2007 Fernando Luis Cacciola Carballal
+#
+# 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)
 
-using quickbook ;
 
-xml conversion : conversion.qbk ;
-boostbook standalone : conversion :
- <xsl:param>boost.root=../../../../..
- <xsl:param>boost.libraries=../../../../libraries.htm
- <xsl:param>html.stylesheet=../../../../../doc/html/boostbook.css ;
+# Quickbook
+# -----------------------------------------------------------------------------
+
+import quickbook ;
+
+xml conversion
+ :
+ conversion.qbk
+ ;
+
+boostbook standalone
+ :
+ conversion
+ :
+ <xsl:param>boost.root=../../../../..
+ <xsl:param>boost.libraries=../../../../libraries.htm
+ <xsl:param>toc.max.depth=2
+ <xsl:param>toc.section.depth=2
+ <xsl:param>chunk.section.depth=1
+ ;
+

Deleted: branches/fix-links/libs/numeric/conversion/doc/bounds.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/bounds.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
+++ (empty file)
@@ -1,109 +0,0 @@
-<HTML>
- <HEAD>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
- <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../boost.css">
- <TITLE>Boost Numeric Conversion Library - Bounds</TITLE>
- </HEAD>
- <BODY BGCOLOR="#FFFFFF" TEXT="#000000">
- <TABLE BORDER="0" CELLPADDING="7" CELLSPACING="0" WIDTH="100%"
- SUMMARY="header">
- <TR>
- <TH VALIGN="top" WIDTH="300">
- <H3><A HREF="../../../../index.htm"><IMG HEIGHT="86" WIDTH="277"
- ALT="C++ Boost" SRC="../../../../boost.png" BORDER="0"></A></H3> </TH>
- <TH VALIGN="top">
- <H1 ALIGN="center">Boost Numeric Conversion Library</H1>
-
- <H1>Header <A
- HREF="../../../../boost/numeric/conversion/bounds.hpp">boost/numeric/conversion/bounds.hpp</A></H1>
- </TH>
- </TR>
- </TABLE><HR>
- <H2>Contents</H2>
- <UL>
- <LI>Introduction</LI>
- <LI>template class bounds<N></LI>
- <LI>Examples</LI>
- <!--<LI>Implementation</LI>-->
- <!--<LI>Portability</LI>-->
- </UL> <HR>
- <H2><A NAME="introduction">Introduction</A></H2>
- <P>To determine the ranges of numeric types with std:: numeric_limits
- [18.2.1], different syntax have to be used depending on numeric type.
- Specifically, numeric_limits&lt;T&gt;::min() for integral types returns the
- minimum finite value, whereas for floating point types it returns the minimum
- positive normalized value. The difference in semantics makes client code
- unnecessarily complex and error prone. <BR> <BR>
- boost::numeric::bounds&lt;&gt; provides a consistent interface for retrieving
- the maximum finite value, the minimum finite value and the minimum positive
- normalized value (0 for integral types) for numeric types. The selection of
- implementation is performed at compile time, so there is no runtime overhead.
- <BR>
- <BR> </P> <HR>
- <H2><A NAME="bounds"><CODE>traits class bounds&lt;N&gt;</CODE></A></H2>
- <BLOCKQUOTE>
-
- <PRE>template&lt;class N&gt;
-struct bounds
-{
- static N lowest () { return <i>implementation_defined</i>; }
- static N highest () { return <i>implementation_defined</i>; }
- static N smallest() { return <i>implementation_defined</i>; }
-};</PRE>
- </BLOCKQUOTE>
- <H3>Members</H3>
- <PRE>lowest()</PRE>
- <P>Returns the minimum finite value, equivalent to
- numeric_limits&lt;T&gt;::min() when T is an integral type, and to
- -numeric_limits&lt;T&gt;::max() when T is a floating point type. </P>
- <PRE>highest()</PRE>
- <P>Returns the maximum finite value, equivalent to
- numeric_limits&lt;T&gt;::max(). </P>
- <PRE>smallest()</PRE>
-
-<P>Returns the smallest positive normalized value for floating point types with
- denormalization, or returns 0 for integral types. <BR>
- <BR>
- </P> <HR>
- <H2><A NAME="examples">Examples</A></H2>
-
-<P>The following example demonstrates the use of numeric::bounds&lt;&gt; and the
- equivalent code using numeric_limits: </P>
-
-<BLOCKQUOTE>
- <PRE>#include &lt;iostream&gt;
-
-#include &lt;boost/numeric/conversion/bounds.hpp&gt;
-#include &lt;boost/limits.hpp&gt;
-
-int main() {
-
- std::cout &lt;&lt; "numeric::bounds versus numeric_limits example.\n";
-
- std::cout &lt;&lt; "The maximum value for float:\n";
- std::cout &lt;&lt; boost::numeric::bounds&lt;float&gt;::highest() &lt;&lt; "\n";
- std::cout &lt;&lt; std::numeric_limits&lt;float&gt;::max() &lt;&lt; "\n";
-
- std::cout &lt;&lt; "The minimum value for float:\n";
- std::cout &lt;&lt; boost::numeric::bounds&lt;float&gt;::lowest() &lt;&lt; "\n";
- std::cout &lt;&lt; -std::numeric_limits&lt;float&gt;::max() &lt;&lt; "\n";
-
- std::cout &lt;&lt; "The smallest positive value for float:\n";
- std::cout &lt;&lt; boost::numeric::bounds&lt;float&gt;::smallest() &lt;&lt; "\n";
- std::cout &lt;&lt; std::numeric_limits&lt;float&gt;::min() &lt;&lt; "\n";
-
- return 0;
-}</PRE>
- </BLOCKQUOTE>
-
-<hr>
-<P>Back to Numeric Conversion library index</P>
-<HR>
-<P>Revised 23 June 2004</P>
-<p>© Copyright Fernando Luis Cacciola Carballal, 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

Deleted: branches/fix-links/libs/numeric/conversion/doc/conversion_traits.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/conversion_traits.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
+++ (empty file)
@@ -1,337 +0,0 @@
-<HTML>
- <HEAD>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
- <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../boost.css">
- <TITLE>Boost Numeric Conversion Library - Conversion Traits</TITLE>
- </HEAD>
- <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000ff" VLINK="#800080">
- <TABLE BORDER="0" CELLPADDING="7" CELLSPACING="0" WIDTH="100%"
- SUMMARY="header">
- <TR>
- <TH VALIGN="top" WIDTH="300">
- <H3><A HREF="../../../../index.htm"><IMG HEIGHT="86" WIDTH="277"
- ALT="C++ Boost" SRC="../../../../boost.png" BORDER="0"></A></H3> </TH>
- <TH VALIGN="top">
- <H1 ALIGN="center">Boost Numeric Conversion Library</H1>
-
- <H1>Header <A
- HREF="../../../../boost/numeric/conversion/conversion_traits.hpp">boost/numeric/conversion/conversion_traits.hpp</A></H1>
- </TH>
- </TR>
- </TABLE> <HR>
- <H2>Contents</H2>
- <DL CLASS="page-index">
- <DT>Types</DT>
- </DL>
- <UL>
-
- <LI>enumeration boost::numeric::int_float_mixture_enum;</LI>
- <LI>enumeration boost::numeric::sign_mixture_enum;</LI>
- <LI>enumeration boost::numeric::udt_builtin_mixture_enum;</LI>
- <LI>template class boost::numeric::int_float_mixture<T,S></LI>
- <LI>template class boost::numeric::sign_mixture<T,S></LI>
- <LI>template class boost::numeric::udt_builtin_mixture<T,S></LI>
- <LI>template class boost::numeric::is_subranged<T,S></LI>
- <LI>template class boost::numeric::conversion_traits<T,S></LI>
- </UL>
- <DL><DT>Example(s)</DT></DL>
- <HR>
-
-<H2><A NAME="types"></A>Types</H2>
-
-<H2><CODE><A NAME="ncm">enumeration int_float_mixture</A>_enum</CODE></H2>
-
-<PRE>namespace boost { namespace numeric {
-
- enum int_float_mixture_enum
- {
- integral_to_integral
- ,integral_to_float
- ,float_to_integral
- ,float_to_float
- } ;
-
-} } // namespace boost::numeric
-</PRE>
-
-<H2><CODE><A NAME="ncsm">enumeration sign_mixture</A>_enum</CODE></H2>
-
-<PRE>namespace boost { namespace numeric {
-
-enum sign_mixture_enum
- {
- unsigned_to_unsigned
- ,signed_to_signed
- ,signed_to_unsigned
- ,unsigned_to_signed
- } ;
-
-} } // namespace boost::numeric</PRE>
-
-<H2><CODE><A NAME="ncum">enumeration udt_builtin_mixture</A>_enum</CODE></H2>
-
-<PRE>namespace boost { namespace numeric {
-
- enum udt_builtin_mixture_enum
- {
- builtin_to_builtin
- ,builtin_to_udt
- ,udt_to_builtin
- ,udt_to_udt
- } ;
-
-} } // namespace boost::numeric</PRE>
-
-<hr>
-
-<H2><A NAME="ifm"><CODE>template class int_float_mixture&lt;&gt;</CODE></A></H2>
-
-<PRE>namespace boost { namespace numeric {
-
- template &lt;class T, class S&gt;
- struct int_float_mixture : mpl::integral_c&lt;int_float_mixture_enum, <i>impl-def-value</i>&gt; {} ;
-
-} } // namespace boost::numeric
-</PRE>
-<p>Classifying <code>S</code> and <code>T</code> as either <code>integral</code>
-or <code>float</code>, this MPL's Integral Constant
-indicates the combination of these attributes. <br>
-Its <code>::value</code> is of enumeration type boost::numeric::int_float_mixture_enum
-</p>
-
-<hr>
-
-<H2><A NAME="sm"><CODE>template class sign_mixture&lt;&gt;</CODE></A></H2>
-
-<PRE>namespace boost { namespace numeric {
-
- template &lt;class T, class S&gt;
- struct sign_mixture : mpl::integral_c&lt;sign_mixture_enum, <i>impl-def-value</i>&gt; {} ;
-
-} } // namespace boost::numeric
-</PRE>
-<p>Classifying <code>S</code> and <code>T</code> as either <code>signed</code>
-or <code>unsigned</code>, this MPL's Integral Constant
-indicates the combination of these attributes. <br>
-Its <code>::value</code> is of enumeration type boost::numeric::sign_mixture_enum
-</p>
-
-<hr>
-
-<H2><A NAME="ubm"><CODE>template class udt_builtin_mixture&lt;&gt;</CODE></A></H2>
-
-<PRE>namespace boost { namespace numeric {
-
- template &lt;class T, class S&gt;
- struct udt_builtin_mixture : mpl::integral_c&lt;udt_builtin__mixture_enum, <i>impl-def-value</i>&gt; {} ;
-
-} } // namespace boost::numeric
-</PRE>
-<p>Classifying <code>S</code> and <code>T</code> as either <code>user-defined</code>
-or <code>builtin</code>, this MPL's Integral Constant
-indicates the combination of these attributes. <br>
-Its <code>::value</code> is of enumeration type boost::numeric::udt_builtin_mixture_enum
-</p>
-
-<hr>
-
-<H2><A NAME="isr"><CODE>template class is_subranged&lt;&gt;</CODE></A></H2>
-
-<PRE>namespace boost { namespace numeric {
-
- template &lt;class T, class S&gt;
- struct is_subranged : mpl::bool_&lt;<i>impl-def-value</i>&gt; {} ;
-
-} } // namespace boost::numeric
-</PRE>
-<p>Indicates if the range of the target type T is a subset of the range of the source type S.
-That is: if there are some source values which fall out of the Target type's range.<br>
-It is a boolean MPL's Integral Constant..<br>
-It does not indicate if
-a <i>particular</i> conversion is effectively out of range; it indicates that
-some conversion <i>might be</i> out of range because not all the source values
-are representable as Target type.</p>
-
-<hr>
-
-<H2><A NAME="nct"><CODE>template class conversion_traits&lt;&gt;</CODE></A></H2>
-
-<PRE>namespace boost { namespace numeric {
-
-
- template &lt;class T, class S&gt;
- struct conversion_traits
- {
- mpl::integral_c&lt;int_float_mixture_enum , ...&gt; int_float_mixture ;
- mpl::integral_c&lt;sign_mixture_enum , ...&gt; sign_mixture;
- mpl::integral_c&lt;udt_builtin_mixture_enum, ...&gt; udt_builtin_mixture ;
-
- mpl::bool_&lt;...&gt; subranged ;
- mpl::bool_&lt;...&gt; trivial ;
-
- typedef T target_type ;
- typedef S source_type ;
- typedef ... argument_type ;
- typedef ... result_type ;
- typedef ... supertype ;
- typedef ... subtype ;
- } ;
-
-} } // namespace numeric, namespace boost
-</PRE>
-<BLOCKQUOTE>
-
- <P>This traits class indicates some properties of a <i>numeric conversion direction</i>:
- from a source type <code>S</code> to a target type <code>T</code>. It does not indicate the properties of
- a <i>specific</i> conversion, but of the conversion <i>direction</i>. See
- Definitions for details.<br>
- </P>
-
- <P>The traits class provides the following
- MPL's Integral Constants
- of enumeration type. They express the <i>combination</i> of certain attributes of the Source and
- Target types (thus they are call <i>mixture</i>):</P>
- <TABLE BORDER="1">
- <TR>
- <TD>&nbsp;<CODE><B>int_float_mixture</B></CODE>&nbsp;</TD>
-
- <TD>
- <P>Same as given by the traits class int_float_mixture</P>
- </TD>
- </TR>
- <TR>
- <TD>&nbsp;<CODE><B>sign_mixture</B></CODE>&nbsp;</TD>
-
- <TD>
- <P>Same as given by the traits class sign_mixture</P>
- </TD>
- </TR>
- <TR>
- <TD>&nbsp;<CODE><B>udt_builtin_mixture</B></CODE>&nbsp;</TD>
-
- <TD>
- <P>Same as given by the traits class udt_builtin_mixture</P>
- </TD>
- </TR>
- </TABLE>
-
- <P>The traits class provides the following
- MPL's Integral Constants
- of boolean type which indicates indirectly the relation between the Source and Target
- <i>ranges</i>
- (see Definitions for details).</P>
- <TABLE BORDER="1">
- <TR>
- <TD>&nbsp;<CODE> <B>subranged</B></CODE>&nbsp;</TD>
-
- <TD>
- <P>Same as given by is_subranged</P>
- </TD>
- </TR>
- <TR>
- <TD>&nbsp;<CODE> <B>trivial</B></CODE>&nbsp;</TD>
-
- <TD>
- <P>Indicates if both Source and Target, <u>without cv-qualifications</u>, are
- the same type.<br>
- Its <code>::value</code> is of boolean type.</P>
- </TD>
- </TR>
- </TABLE>
-
- <P>The traits class provides the following types. They are the Source and Target
- types classified and qualified for different purposes.</P>
-
- <TABLE BORDER="1" width="720">
- <TR>
- <TD>&nbsp;<CODE><B>target_type</B></CODE>&nbsp;</TD>
- <TD>
-
- <P>The template parameter <CODE>T</CODE><EM> without cv-qualifications</EM></P>
- </TD>
- </TR>
- <TR>
- <TD>&nbsp;<CODE><B>source_type</B></CODE>&nbsp;</TD>
- <TD>
-
- <P>The template parameter <CODE>S</CODE><EM> without cv-qualifications</EM></P>
- </TD>
- </TR>
- <TR>
- <TD>&nbsp;<CODE><B>argument_type</B></CODE>&nbsp;</TD>
- <TD>
- <P>This type is either <CODE>source_type</CODE> or <CODE>source_type
-const&amp;</CODE>. <BR> It represents the <I>optimal</I> argument type for the
- converter member functions.<BR>
- If <CODE>S</CODE> is a built-in type, this is <CODE>source_type</CODE>,
- otherwise, this is <CODE>source_type const&amp;</CODE>. </P>
- </TD>
- </TR>
- <TR>
- <TD>&nbsp;<CODE><B>result_type</B></CODE></TD>
- <TD>
- <P>This type is either <CODE>target_type</CODE> or <CODE>target_type
-const&amp;</CODE> <BR> It represents the return type of the
- converter member functions.<BR>
- If <CODE>T==S</CODE>, it is <CODE>target_type const&amp;</CODE>, otherwise,
- it is <CODE>target_type</CODE>.</P>
- </TD>
- </TR>
- <TR>
-
- <TD height="37">&nbsp;<CODE><B>supertype</B></CODE></TD>
-
- <TD height="37">
- <P>If the conversion is <CODE>subranged</CODE>, it is <CODE>source_type</CODE>,
- otherwise, it is <CODE>target_type</CODE></P>
- </TD>
- </TR>
- <TR>
- <TD>&nbsp;<CODE><B>subtype</B></CODE></TD>
- <TD height="37">
- <P>If the conversion is <CODE>subranged</CODE>, it is <CODE>target_type</CODE>,
- otherwise, it is <CODE>source_type</CODE></P>
- </TD>
- </TR>
- </TABLE> </BLOCKQUOTE> <HR>
-
-<H2><A NAME="examples">Examples</A></H2>
-<BLOCKQUOTE>
- <PRE>#include &lt;cassert&gt;
-#include &lt;typeinfo&gt;
-#include &lt;boost/numeric/conversion/conversion_traits.hpp&gt;
-
-int main()
-{
-
- // A trivial conversion.
- typedef boost::numeric::conversion_traits&lt;short,short&gt; Short2Short_Traits ;
- assert ( Short2Short_Traits::trivial::value ) ;
-
- // A subranged conversion.
- typedef boost::numeric::conversion_traits&lt;double,unsigned int&gt; UInt2Double_Traits ;
- assert ( UInt2Double_Traits::int_float_mixture::value == boost::numeric::integral_to_float ) ;
- assert ( UInt2Double_Traits::sign_mixture::value == boost::numeric::unsigned_to_signed ) ;
- assert ( !UInt2Double_Traits::subranged::value ) ;
- assert ( typeid(UInt2Double_Traits::supertype) == typeid(double) ) ;
- assert ( typeid(UInt2Double_Traits::subtype) == typeid(unsigned int) ) ;
-
- // A doubly subranged conversion.
- assert ( (boost::numeric::conversion_traits&lt;short, unsigned short&gt;::subranged::value) );
- assert ( (boost::numeric::conversion_traits&lt;unsigned short, short&gt;::subranged::value) );
-
- return 0;
-}
-</PRE>
- </BLOCKQUOTE>
-<HR>
-<P>Back to Numeric Conversion library index</P>
-<HR>
-<P>Revised 16 May 2005</P>
-<p>© Copyright Fernando Luis Cacciola Carballal, 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

Deleted: branches/fix-links/libs/numeric/conversion/doc/converter.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/converter.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
+++ (empty file)
@@ -1,279 +0,0 @@
-<HTML>
-
-<HEAD>
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<LINK REL="stylesheet" TYPE="text/css" HREF="../../../../boost.css">
-<TITLE>Boost Numeric Conversion Library - Policy-based Converter</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000ff" VLINK="#800080">
-<TABLE BORDER="0" CELLPADDING="7" CELLSPACING="0" WIDTH="100%"
- SUMMARY="header">
-<TR>
-<TD VALIGN="top" WIDTH="300"> <H3><A HREF="http://www.boost.org"><IMG
-HEIGHT="86" WIDTH="277" ALT="C++ Boost" SRC="../../../../boost.png"
-BORDER="0"></A> </H3>
-</TD>
-<TD VALIGN="top"> <H1 ALIGN="center">Boost Numeric Conversion Library</H1>
- <H1>Header <A
-HREF="../../../../boost/numeric/conversion/converter.hpp">boost/numeric/conversion/converter.hpp</A></H1>
-</TD>
-</TR>
-</TABLE>
-<HR>
-<H2>Contents</H2>
-<DT>Synopsis</DT>
-<DT>User Defined Types support</DT>
-<DT>Range Checking Logic</DT>
-<DT>Examples</DT>
-
-<HR>
-<H2><A NAME="synopsis">Synopsis</A></H2>
-<PRE>namespace boost { namespace numeric {
-
-
-template&lt;class T,
- class S,
- class Traits, = conversion_traits&lt;T,S&gt;
- class OverflowHandler = def_overflow_handler,
- class Float2IntRounder = Trunc&lt; typename Traits::source_type &gt;,
- class RawConverter = raw_converter&lt;Traits&gt;,
- class UserRangeChecker = UseInternalRangeChecker
- &gt;
-struct converter
-{
- typedef Traits traits ;
-
- typedef typename Traits::source_type source_type ;
- typedef typename Traits::argument_type argument_type ;
- typedef typename Traits::result_type result_type ;
-
- static result_type convert ( argument_type s ) ;
-
- result_type operator() ( argument_type s ) const ;
-
- // Internal member functions:
-
- static range_check_result out_of_range ( argument_type s ) ;
- static void validate_range ( argument_type s ) ;
- static result_type low_level_convert ( argument_type s ) ;
- static source_type nearbyint ( argument_type s ) ;
-
-} ;
-
-} } // namespace numeric, boost
-</PRE>
-
-<P><code>boost::numeric::converter&lt;&gt;</code> is a
-Unary Function Object
-encapsulating the code to perform a numeric conversion with the direction and properties specified
- by the <CODE>Traits</CODE> template parameter. It can optionally take some
- policies
- which can be used to customize its behavior. The Traits parameter is not a policy but
- the parameter that defines the conversion.
-</P>
-<hr>
-<h2>Template parameters:</h2>
-<TABLE BORDER="1">
- <TR>
- <TD>&nbsp;T</TD>
- <TD>&nbsp;The Numeric Type which is
- the <i>Target</i> of the conversion.</TD>
- </TR>
- <TR>
- <TD>&nbsp;S</TD>
- <TD>&nbsp;The Numeric Type which is
- the <i>Source</i> of the conversion.</TD>
- </TR>
- <TR>
- <TD>&nbsp;<CODE>Traits</CODE>&nbsp;</TD>
- <TD>&nbsp;This must be a conversion traits class with the interface of
- boost::numeric::conversion_traits
- </TD>
- </TR>
- <TR>
- <TD>&nbsp;OverflowHandler&nbsp;</TD>
- <TD>&nbsp;<B>Stateless Policy</B> called to administrate the result of the
- range checking.<br>
- &nbsp;It is a <b>Function Object</b> which receives the result of <CODE>out_of_range()</CODE>
- and is called inside the <CODE>validate_range()</CODE> static member function
- exposed by the converter.</TD>
- </TR>
- <TR>
- <TD>&nbsp;Float2IntRounder&nbsp;</TD>
- <TD>&nbsp;<B>Stateless Policy</B> which specifies the rounding mode used for
- float to integral conversions.<br>
- &nbsp;It supplies the <CODE>nearbyint()</CODE> static member function exposed
- by the converter.</TD>
- </TR>
- <TR>
- <TD>&nbsp;RawConverter&nbsp;</TD>
- <TD>&nbsp;<B>Stateless Policy</B> which is used to perform the actual conversion.
- <br>
- &nbsp;It supplies the<CODE> low_level_convert()</CODE> static member function
- exposed by the converter.</TD>
- </TR>
- <TR>
- <TD>&nbsp;UserRangeChecker&nbsp;</TD>
- <TD><i>Special and Optional</i> <b>Stateless Policy</b> which can be used to override
- the internal range checking logic.<br>
- If given, supplies alternative code for the out_of_range() and validate_range()
- static member functions exposed by the converter.</TD>
- </TR>
-</TABLE>
-<br>
-<hr>
-<h2>Member functions:</h2>
-<P><CODE>static result_type converter&lt;&gt;::convert ( argument_type s ) ; //
- throw</CODE></P>
-<BLOCKQUOTE>
- <P>This static member function converts an rvalue of type source_type to an rvalue
- of type target_type.<BR>
- If the conversion requires it, it performs a range checking before the conversion
- and passes the result of the check to the overflow handler policy (the default
- policy throws an exception if out-of-range is detected)<BR>
- The implementation of this function is actually built from the policies and
- is basically as follows:</P>
- <PRE> result_type converter<>::convert ( argument_type s )
- {
- validate_range(s); // Implemented by the internal range checking logic
- // (which also calls the OverflowHandler policy)
- // or externally supplied by the UserRangeChecker policy.
-
- s = nearbyint(s); // Externally supplied by the Float2IntRounder policy.
- // NOTE: This is actually called only for float to int conversions.
-
- return low_level_convert(s); // Externally supplied by the RawConverter policy.
- }
-</PRE>
-
- <P>&quot;converter&lt;&gt;::operator() const&quot; just calls <CODE>convert()</CODE></P>
-</BLOCKQUOTE>
-<P><CODE>static range_check_result numeric_converter&lt;&gt;::out_of_range (
-argument_type s ) ;</CODE></P>
-<BLOCKQUOTE>
- <P>This internal static member function determines if the
- value 's' can be represented by the target type without overflow. <BR>
- It does not determine if the conversion is <EM>exact</EM>; that is, it does
- not detect <i>inexact</i> conversions, only <i>out-of-range</i> conversions
- (see the Definitions for further details).<BR>
- The return value is of enum type
- boost::numeric::range_check_result<BR>
- The actual code for the range checking logic is optimized for the combined
- properties of the source and target types. For example, a non-subranged conversion
- (i.e: int-&gt;float), requires no range checking, so out_of_range() returns
- cInRange directly. See the following table for more
- details.<br>
- If the user supplied a UserRangeChecker
- policy, is this policy which implements this function, so the implementation
- is user defined, although it is expected to perform the same conceptual check
- and return the appropriate result.</P>
-</BLOCKQUOTE>
-<P><CODE>static void numeric_converter&lt;&gt;::validate_range ( argument_type
-s ) ; // no throw</CODE></P>
-<BLOCKQUOTE>
- <P>This internal static member function calls <CODE>out_of_range(s)</CODE>,
- and passes the result to the <A
-HREF="converter_policies.html#oh"><CODE>OverflowHandler</CODE></A> policy class
- <BR>
- For those Target/Source combinations which don't require range checking, this
- is an <U>empty inline function</U>.<br>
- If the user supplied a UserRangeChecker
- policy, is this policy which implements this function, so the implementation
- is user defined, although it is expected to perform the same action as the
- default. In particular, it is expected to pass the result of the check to
- the overflow handler.</P>
-</BLOCKQUOTE>
-<P><CODE>static result_type numeric_converter&lt;&gt;::low_level_convert (
-argument_type s ) ;</CODE></P>
-<BLOCKQUOTE>
- <P>This internal static member function performs the actual
- conversion.<BR>
-This function is externally supplied by the <A
-HREF="converter_policies.html#rawc"><CODE>RawConverter</CODE></A> policy class.</P>
-</BLOCKQUOTE>
-<P><CODE>static source_type converter&lt;&gt;::nearbyint (
-argument_type s ) ;</CODE></P>
-<BLOCKQUOTE>
- <P>This internal static member function, which is <U>only
- used</U> for float to int conversions, returns an <I>integer value of <U>floating-point
- type</U></I> according to some rounding direction. <BR>
- This function is externally supplied by the <A
-HREF="converter_policies.html#f2i"><CODE>Float2IntRounder</CODE></A> policy class
- which encapsulates the specific rounding mode.</P>
-</BLOCKQUOTE>
-<hr>
-<P><A NAME="int"><B>Internal Member Functions</B>:</A> These static member functions
- build the actual conversion code used by <CODE>convert()</CODE>. The user does
- not have to call these if calling convert(), since convert() calls them infernally,
- but they can be called separately for specific needs.</P>
-<hr>
-<H2><A NAME="rchklogic">Range Checking Logic</A></H2>
-<P>The Following table summarizes the internal range checking logic performed
- for each combination of the properties of Source and Target.<br>
- LowestT/HighestT denotes the highest and lowest values of the Target type, respectively.<br>
- S(n) is short for &quot;static_cast&lt;S&gt;(n)&quot; (S denotes the Source
- type).<br>
- &quot;NONE&quot; indicates that for this case there is no range checking.</P>
-<Pre>&nbsp; int_to_int |--> sig_to_sig |--> subranged |--> ( s >= S(LowestT) ) && ( s <= S(HighestT) )
- | |--> not subranged |--> NONE
- |
- |--> unsig_to_unsig |--> subranged |--> ( s >= S(LowestT) ) && ( s <= S(HighestT) )
- | |--> not subranged |--> NONE
- |
- |--> sig_to_unsig |--> pos subranged |--> ( s >= S(0) ) && ( s <= S(HighestT) )
- | |--> not pos subranged |--> ( s >= S(0) )
- |
- |--> unsig_to_sig |--> subranged |--> ( s <= S(HighestT) )
- | |--> not subranged |--> NONE
-
- int_to_float |--> NONE
-
- float_to_int |--> round_to_zero |--> ( s > S(LowestT)-S(1) ) && ( s < S(HighestT)+S(1) )
- |--> round_to_even_nearest |--> ( s >= S(LowestT)-S(0.5) ) && ( s &lt; S(HighestT)+S(0.5) )
- |--> round_to_infinity |--> ( s > S(LowestT)-S(1) ) && ( s <= S(HighestT) )
- |--> round_to_neg_infinity |--> ( s >= S(LowestT) ) && ( s < S(HighestT)+S(1) )
-
- float_to_float |--> subranged |--> ( s >= S(LowestT) ) && ( s <= S(HighestT) )
- |--> not subranged |--> NONE
-
-</Pre>
-<HR>
-<H2><A NAME="examples">Examples</A></H2>
-<BLOCKQUOTE>
- <PRE> #include &lt;cassert&gt;
- #include &lt;boost/numeric/conversion/converter.hpp&gt;
-
- int main() {
-
- typedef boost::numeric::converter&lt;int,double&gt; Double2Int ;
-
- int x = Double2Int::convert(2.0);
- assert ( x == 2 );
-
- int y = Double2Int()(3.14); // As a function object.
- assert ( y == 3 ) ; // The default rounding is trunc.
-
- try
- {
- double m = boost::numeric::bounds&lt;double&gt;::highest();
- int z = Double2Int::convert(m); // By default throws positive_overflow()
- }
- catch ( boost::numeric::positive_overflow const&amp; )
- {
- }
-
- return 0;
-}</PRE>
- </BLOCKQUOTE>
-<HR>
-<P>Back to Numeric Conversion library index</P>
-<HR>
-<P>Revised 16 May 2005</P>
-<p>© Copyright Fernando Luis Cacciola Carballal, 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

Deleted: branches/fix-links/libs/numeric/conversion/doc/converter_policies.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/converter_policies.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
+++ (empty file)
@@ -1,466 +0,0 @@
-<HTML>
-
-<HEAD>
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<LINK REL="stylesheet" TYPE="text/css" HREF="../../../../boost.css">
-<TITLE>Boost Numeric Conversion Library - Converter Policies</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000ff" VLINK="#800080">
-<TABLE BORDER="0" CELLPADDING="7" CELLSPACING="0" WIDTH="100%"
- SUMMARY="header">
-<TR>
-<TD VALIGN="top" WIDTH="300"> <H3><A HREF="http://www.boost.org"><IMG
-HEIGHT="86" WIDTH="277" ALT="C++ Boost" SRC="../../../../boost.png"
-BORDER="0"></A> </H3>
-</TD>
-<TD VALIGN="top"> <H1 ALIGN="center">Boost Numeric Conversion Library</H1>
- <H1>Header <A
-HREF="../../../../boost/numeric/conversion/converter_policies.hpp">boost/numeric/conversion/converter_policies.hpp</A></H1>
-</TD>
-</TR>
-</TABLE>
-<HR>
-<H2>Contents</H2>
-<ol>
-<LI>enumeration range_check_result </LI>
-<LI>Policy OverflowHandler
-<UL>
-<LI>class silent_overflow_handler</LI>
-<LI>class def_overflow_handler (Default Policy)</LI>
-<ul>
-<LI>class <CODE> bad_numeric_cast</CODE> (see IMPORTANT note)</LI>
-<LI>class negative_overflow</LI>
-<LI>class positive_overflow</LI>
-</ul>
-</UL>
-</LI>
-<LI>Policy FloatToIntRounder <UL>
-<LI>class Trunc<T> (Default Policy)</LI>
-<LI>class RoundEven<T></LI>
-<LI>class Ceil<T></LI>
-<LI>class Floor<T></LI>
-</UL>
-</LI>
-<LI>Policy RawConverter<UL>
- <LI>class raw_converter class (Default)</LI>
-</UL>
-</LI>
-<LI>Policy UserRangeChecker<UL>
- <LI>class UseInternalRangeChecker class (Default)</LI>
-</UL>
-</LI>
-</ol>
-
-<HR>
-<H2><A NAME="types">Types</A></H2>
-<H2><A NAME="rcr"><CODE>enum range_check_result</CODE></A></H2>
-<PRE>namespace boost { namespace numeric {
-
-
-
-
-
- enum range_check_result
-
- {
-
- cInRange ,
-
- cNegOverflow ,
-
- cPosOverflow
-
- } ;
-
-
-
-
-
-} }</PRE>
-
-<P>Defines the values returned by <CODE>boost::numeric::converter&lt;&gt;::out_of_range()</CODE>
-</P>
-<HR>
-<H2><A NAME="oh">Policy <CODE>OverflowHandler</CODE></A></H2>
-<P>This <EM>stateless</EM> non-template policy class must be a <I>function object</I>
- and is called to administrate the result of the range checking. It can throw
- an exception if overflow has been detected by the range checking as indicated
- by its argument. If it throws, is is recommended that it be <CODE>std::bad_cast</CODE>
- or derived.</P>
-<P>It must have the following interface (it does not has to be a template class):</P>
-<PRE> struct YourOverflowHandlerPolicy
-
- {
-
- void operator() ( boost::range_check_result ) ; // throw bad_cast or derived
-
- } ;
-
-</PRE>
-<P>It is called with the result of the converter's <CODE>out_of_range()</CODE>
- inside <CODE>validate_range()</CODE>.</P>
-<P>These are the two overflow handler classes provided by the
-library:</P>
-<PRE>namespace boost { namespace numeric {
-
-
-
-
-
- struct <A NAME="oh_def">def_overflow_handler</a>
-
- {
-
- void operator() ( range_check_result r ) // throw bad_numeric_conversion derived
-
- {
-
- if ( r == cNegOverflow )
-
- throw negative_overflow() ;
-
- else if ( r == cPosOverflow )
-
- throw positive_overflow() ;
-
- }
-
- } ;
-
-
-
- struct <A NAME="oh_silent">silent_overflow_handler</a>
-
- {
-
- void operator() ( range_check_result ) // no-throw
-
- {}
-
- } ;
-
-
-
-} }
-
-</PRE>
-
-<P>And these are the Exception Classes thrown by the default
-overflow handler (see IMPORTANT note)</P>
-<PRE>namespace boost { namespace numeric {
-
-
-
-
-
- class <a name="bad_numc">bad_numeric_cast</a> : public std::bad_cast
-
- {
-
- public:
-
-
-
- virtual const char *what() const // throw()
-
- { return &quot;bad numeric conversion: overflow&quot;; }
-
- };
-
-
-
- class <a name="negovr">negative_overflow</a> : public bad_numeric_cast
- {
-
- public:
-
-
-
- virtual const char *what() const // throw()
-
- { return &quot;bad numeric conversion: negative overflow&quot;; }
-
- };
-
- class <a name="posovr">positive_overflow</a> : public bad_numeric_cast
- {
-
- public:
-
-
-
- virtual const char *what() const // throw()
-
- { return &quot;bad numeric conversion: positive overflow&quot;; }
-
- };
-
-} }
-
-</PRE>
-
-<a name="x-note"><p><b>IMPORTANT RELEASE NOTE for 1.33</b></p></a>
-<blockquote>
- <p>Previous to boost version 1.33, the exception class <code>bad_numeric_cast</code> was
- named <code>bad_numeric_conversion</code>. However, in 1.33, the old function
- <code>numeric_cast&lt;&gt;</code> from <code>boost/cast.hpp</code> was completly replaced by the new
- <code>numeric_cast&lt;&gt;</code> in <code>boost/numeric/conversion/cast.hpp</code>
- (and <code>boost/cast.hpp</code> is including <code>boost/numeric/conversion/cast.hpp</code> now). That old function which
- existed in boost for quite some time used the <code>bad_numeric_cast</code> as its
- exception type so I decided to avoid backward compatibility problems by adopting it (guessing
- that the user base for the old code is wider than for the new code).</p>
-</blockquote>
-
-<HR>
-<H2><A NAME="f2i">Policy <CODE>FloatToIntRounder</CODE></A></H2>
-<P>This <EM>stateless</EM> template policy class specifies the rounding mode used
- for<U> float to integral</U> conversions. It supplies the <CODE>&quot;nearbyint()&quot;</CODE>
- static member function exposed by the converter, which means that it <U>publicly
- inherits from this policy.</U></P>
-<P>The policy must have the following interface:</P>
-<PRE> template&lt;class S&gt;
-
- struct YourFloat2IntRounderPolicy
-
- {
-
- typedef S source_type ;
-
- typedef <I>{S or S const&amp;}</I> argument_type ;
-
-
-
- static source_type nearbyint ( argument_type s ) { ... }
-
-
-
- typedef mpl::integral_c&lt;std::float_round_style,std::<i>round_...</i>&gt; round_style ;
-
- } ;
-
-</PRE>
-
-<P>These are the rounder classes provided by the library:</P>
-
-<BLOCKQUOTE>
- <P><EM>NOTE: These classes are not intended to be general purpose rounding functions
- but specific policies for converter&lt;&gt;. This is why <U>they are not function
- objects</U>.</EM></P>
- <P>(only the specific parts are shown, see the general policy form above)</P>
- <PRE>namespace boost { namespace numeric {
-
-
-
- <A NAME="trunc"></A>template&lt;class S&gt;
-
- struct Trunc
-
- {
-
- static source_type nearbyint ( argument_type s )
-
- {
-
- using std::floor ;
-
- using std::ceil ;
-
- return s >= static_cast&lt;S&gt;(0) ? floor(s) : ceil(s) ;
-
- }
-
-
-
- typedef mpl::integral_c&lt;std::float_round_style,std::round_toward_zero&gt; round_style ;
-
- } ;
-
- </PRE>
- <PRE> <A NAME="round"></A>template&lt;class S&gt;
-
- struct RoundEven
-
- {
-
- static source_type nearbyint ( argument_type s )
-
- {
-
- return <i>impl-defined-value</i> ;
-
- }
-
-
-
- typedef mpl::integral_c&lt;std::float_round_style,std::round_to_nearest&gt; round_style ;
-
- } ;
-
-</PRE>
-<PRE> <A NAME="ceil"></A>template&lt;class S&gt;
-
- struct Ceil
-
- {
-
- static source_type nearbyint ( argument_type s )
-
- {<br> using std::ceil ;<br> return ceil(s) ;<br> }
-
-
-
- typedef mpl::integral_c&lt;std::float_round_style,std::round_toward_infinity&gt; round_style ;
-
- } ;
-
-</PRE>
-<PRE> <A NAME="floor"></A>template&lt;class S&gt;
-
- struct Floor
-
- {
-
- static source_type nearbyint ( argument_type s )
-
- {<br> using std::floor ;<br> return floor(s) ;<br> }
-
-
-
- typedef mpl::integral_c&lt;std::float_round_style,std::round_toward_neg_infinity&gt; round_style ;
-
- } ;
-
-
-
-} } // namespace numeric, namespace boost</PRE>
-
-</BLOCKQUOTE>
-<H3>Math Functions used by the rounder policies</H3>
-<P>The rounder policies supplied by this header use math functions floor() and
- ceil(). The standard versions of these functions are introduced in context by
- a using directive, so in normal conditions, the standard functions will be used.
- <br>
- However, if there are other visible corresponding overloads an ambiguity could
- arise. In this case, the user can supply her own rounder policy which could,
- for instance, use a fully qualified call.<br>
- This technique allows the default rounder policies to be used directly with
- user defined types. The user only requires that suitable overloads of floor()
- and ceil() be visible. See also User Defined Numeric Types support<br>
-</P>
-<HR>
-<H2><A NAME="rawc">Policy <CODE>RawConverter</CODE></A></H2>
-<P>This <EM>stateless</EM> template policy class is used to perform the actual
- conversion from Source to Target. It supplies the <CODE>&quot;low_level_convert()&quot;</CODE>
- static member function exposed by the converter, which means that it <U>publicly
- inherits from this policy.</U></P>
-<P>The policy must have the following interface:</P>
-<PRE> template&lt;class Traits&gt;
-
- struct YourRawConverterPolicy
-
- {
-
- typedef typename Traits::result_type result_type ;
-
- typedef typename Traits::argument_type argument_type ;
-
-
-
- static result_type low_level_convert ( argument_type s ) { return <I>&lt;impl defined&gt;</I> ; }
-
- } ;
-
-</PRE>
-
-<P>This policy is mostly provided as a hook for user defined types which don't
- support <CODE>static_cast&lt;&gt;</CODE> conversions to some types</P>
-
-<P>This is the only raw converter policy class provided
-by the library:</P>
-<PRE>namespace boost { namespace numeric {
-
-
-
-
-
- template&lt;class Traits&gt;
-
- struct <A NAME="rawnumc">raw_numeric_converter</A>
-
- {
-
- typedef typename Traits::result_type result_type ;
-
- typedef typename Traits::argument_type argument_type ;
-
-
-
- static result_type low_level_convert ( argument_type s )
-
- { return static_cast&lt;result_type&gt;(s) ; }
-
- } ;
-
-
-
-}
-
-</PRE>
-
-<HR>
-<H2><A NAME="rc">Policy <CODE>UserRangeChecker</CODE></A></H2>
-<P>This <EM>stateless</EM> template policy class is used -<u>only if supplied</u>-
- to <b>override</b> the internal range checking logic.<br>
- It supplies the <CODE>&quot;validate_range()&quot;</CODE> static member function
- exposed by the converter, which means that it <U>publicly inherits from this
- policy.</U></P>
-<P>The policy must have the following interface:</P>
-<PRE> template&lt;class Traits&gt;
-
- struct YourRangeCheckerPolicy
-
- {
-
- typedef typename Traits::argument_type argument_type ;
-
-
-
- // Determines if the value 's' fits in the range of the Target type.
-
- static range_check_result out_of_range ( argument_type s ) ;
-
-
-
- // Checks whether the value 's' is out_of_range()
-
- // and passes the result of the check to the OverflowHandler policy.
-
- static void validate_range ( argument_type s )
-
- {
-
- OverflowHandler()( out_of_range(s) ) ;
-
- }
-
- } ;
-
-</PRE>
-<P>This policy is <b>only</b> provided as a hook for user defined types which
- require range checking (which is disabled by default when a UDT is involved).<br>
- The library provides a class: <A NAME="int_rc"><code>UseInternalRangeChecker{};</code></a> which
- is a <i>fake</i> RangeChecker policy used to signal the converter to use its
- internal range checking implementation.
-</P>
-<HR>
-<P>Back to Numeric Conversion library index</P>
-<HR>
-<P>Revised 23 June 2004</P>
-<p>© Copyright Fernando Luis Cacciola Carballal, 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

Deleted: branches/fix-links/libs/numeric/conversion/doc/definitions.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/definitions.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
+++ (empty file)
@@ -1,471 +0,0 @@
-<HTML>
- <HEAD>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
- <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../boost.css">
- <TITLE>Boost Numeric Conversion Library - Definitions</TITLE>
- </HEAD>
- <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000ff" VLINK="#800080">
- <TABLE BORDER="0" CELLPADDING="7" CELLSPACING="0" WIDTH="100%"
- SUMMARY="header">
- <TR>
- <TH VALIGN="top" WIDTH="300">
- <H3><A HREF="../../../../index.htm"><IMG HEIGHT="86" WIDTH="277"
- ALT="C++ Boost" SRC="../../../../boost.png" BORDER="0"></A></H3> </TH>
- <TH VALIGN="top">
- <H1 ALIGN="center">Boost Numeric Conversion Library</H1>
- <H1 ALIGN="center">Definitions</H1>
- </TH>
- </TR>
- </TABLE>
- <HR>
- <H2>Contents</H2>
- <DL CLASS="page-index">
- <dt>Introduction</dt>
- <dt>Types and Values</dt>
- <dt>C++ Arithmetic Types</dt>
- <dt>Numeric Types</dt>
- <dt>Range and Precision</dt>
- <dt>Exact, Correctly Rounded and Out-Of-Range Representations</dt>
- <dt>Standard (numeric) Conversions</dt>
- <dt>Subranged Conversion Direction, Subtype and Supertype</dt>
- </DL>
-
-
-
-<h2><A NAME="intro">Introduction</A></h2>
-<P>This section provides definitions of terms used in the Numeric Conversion library.</p>
-<p><b>Notation:</b>
-<li><u>underlined text</u> denotes terms defined in the C++ standard.</li>
-<li><b>bold face</b> denotes terms defined here but not in the standard.</li>
-<p></p>
-
-
-
-<hr>
-<h2><A NAME="typeval">Types and Values</A></h2>
-<p>As defined by the <u>C++ Object Model</u> (&sect;1.7) the <u>storage</u> or
- memory on which a C++ program runs is a contiguous sequence of <u>bytes</u>
- where each byte is a contiguous sequence of <u>bits</u>.<br>
- An <u>object</u> is a region of storage (&sect;1.8) and has a type (&sect;3.9).<br>
- A <u>type</u> is a discrete set of values. <br>
- An object of type T has an <u>object representation</u> which is the sequence
- of bytes stored in the object (&sect;3.9/4)<br>
- An object of type T has a <u>value representation</u> which is the set of bits
- that determine the <i>value</i> of an object of that type (&sect;3.9/4). For
- <u>POD</u> types (&sect;3.9/10), this bitset is given by the object representation,
- but not all the bits in the storage need to participate in the value representation
- (except for character types): for example, some bits might be used for padding
- or there may be trap-bits.</p>
-<p>The <b>typed value</b> that is held by an object is
-the value which is determined by its value representation.<br>
-An <b>abstract value</b> (untyped) is
-the conceptual information that is represented in a type
-(i.e. the number &pi;).<br>
-The <b>intrinsic value</b> of an object is
-the binary value of the sequence of unsigned characters which form its object representation.</p>
-<p><i>Abstract values</i> can be <b>represented</b> in a given type.<br>
-To <b>represent</b> an abstract value 'V' in a type 'T'
-is to obtain a typed value 'v' which <i>corresponds</i> to the abstract value 'V'.<br>
-The operation is denoted using the 'rep()' operator, as in: <code>v=rep(V)</code>.<br>
-'v' is the <b>representation</b> of 'V' in the type 'T'.<br>
-For example, the abstract value &pi; can be represented in the type <code>'double'</code> as the
-'double value M_PI' and in the type <code>'int'</code> as the 'int value 3'</p>
-<p>Conversely, <i>typed values</i> can be <b>abstracted</b>.<br>
-To <b>abstract</b> a typed value 'v' of type 'T' is to obtain the
-abstract value 'V' whose representation in 'T' is 'v'.<br>
-The operation is denoted using the 'abt()' operator, as in: <code>V=abt(v)</code>.<br>
-'V' is the <b>abstraction</b> of 'v' of type 'T'.<br>
-Abstraction is just an abstract operation (you can't do it); but it is defined nevertheless
-because it will be used to give the definitions in the rest of this document.</p>
-
-
-
-
-<hr>
-<h2><A NAME="stdtypes">C++ Arithmetic Types</A></h2>
-<P>The C++ language defines <u>fundamental types</u> (&sect;3.9.1). The following
-subsets of the fundamental types are intended to represent <i>numbers</i>:</p>
-<li><u>signed integer types</u> (&sect;3.9.1/2):<br>
- <blockquote>
- <code>{signed char, signed short int, signed int, signed long int}</code><br>
- Can be used to represent general integer numbers (both negative and positive).
- </blockquote>
-</li>
-<li><u>unsigned integer types</u> (&sect;3.9.1/3):<br>
- <blockquote>
- <code>{unsigned char, unsigned short int, unsigned int, unsigned long int}</code><br>
- Can be used to represent positive integer numbers <u>with modulo-arithmetic</u>.<br>
- </blockquote>
-<li><u>floating-point types</u> (&sect;3.9.1/8):<br>
- <blockquote>
- <code>{float,double,long double}</code><br>
- Can be used to represent real numbers.
- </blockquote>
-</li>
-<li><u>integral or integer types</u> (&sect;3.9.1/7):<br>
- <blockquote>
- <code>{{signed integers},{unsigned integers}, bool, char and wchar_t}</code>
- </blockquote>
-</li>
-<li><u>arithmetic types</u> (&sect;3.9.1/8):<br>
- <blockquote>
- <code>{{integer types},{floating types}}</code>
- </blockquote>
-</li>
-<P>The integer types are required to have a <i>binary</i> value representation.<br>
-Additionally, the signed/unsigned integer types of the same base type (short, int or long)
-are required to have the same value representation, that is:</P>
-<pre> int i = -3 ; // suppose value representation is: 10011 (sign bit + 4 magnitude bits)
- unsigned int u = i ; // u is required to have the same 10011 as its value representation.
-</pre>
-<P>In other words, the integer types signed/unsigned X use the same value representation
-but a different <i>interpretation</i> of it; that is, their <i>typed values</i>
-might differ.<br>
-Another consequence of this is that the range for signed X is always a smaller subset
-of the range of unsigned X, as required by &sect;3.9.1/3.</P>
-<P>Note: always remember that unsigned types, unlike signed types, have modulo-arithmetic;
- that is, they do not overflow.<br>
- This means that:
- <li> Always be extra careful when mixing signed/unsigned types</li>
- <li> Use unsigned types only when you need modulo arithmetic or very very large numbers.
- Don't use unsigned types just because you intend to deal with positive values only
- (you can do this with signed types as well).</li>.
-<p></P>
-
-
-
-
-
-<hr>
-<h2><A NAME="numtypes">Numeric Types</A></h2>
-<p>This section introduces the following definitions intended to integrate arithmetic
- types with user-defined types which behave like numbers. Some definitions are
- purposely broad in order to include a vast variety of user-defined number
- types.</p>
-<p>Within this library, the term <i>number</i> refers to an abstract numeric value.</p>
-<p>A type is <b>numeric</b> if:</p>
-<li>It is an arithmetic type, or,</li>
-<li>It is a user-defined type which</li>
- <blockquote>
- <li>Represents numeric abstract values (i.e. numbers).</li>
-
- <li>Can be converted (either implicitly or explicitly) to/from at least one
- arithmetic type.</li>
- <li>Has range (possibly unbounded) and precision
- (possibly dynamic or unlimited).</li>
- <li>Provides an specialization of <code>std::numeric_limits</code>.</li>
- </blockquote>
-<p></p>
-<p>A numeric type is <b>signed</b> if the abstract values it represent include negative numbers.<br>
-A numeric type is <b>unsigned</b> if the abstract values it represent exclude negative numbers.<br>
-A numeric type is <b>modulo</b> if it has modulo-arithmetic (does not overflow).<br>
-A numeric type is <b>integer</b> if the abstract values it represent are whole numbers.<br>
-A numeric type is <b>floating</b> if the abstract values it represent are real numbers.<br>
-An <b>arithmetic value</b> is the typed value of an arithmetic type<br>
-A <b>numeric value</b> is the typed value of a numeric type</p>
-<p></p>
-<p>These definitions simply generalize the standard notions of arithmetic types
- and values by introducing a superset called <u>numeric</u>. All arithmetic types
- and values are numeric types and values, but not vice versa, since user-defined
- numeric types are not arithmetic types.</p>
-<p>The following examples clarify the differences between arithmetic and numeric types (and values):</p>
-<pre>// A numeric type which is not an arithmetic type (is user-defined)
-// and which is intended to represent integer numbers (i.e., an 'integer' numeric type)
-class MyInt
-{
- MyInt ( long long v ) ;
- long long to_builtin();
-} ;
-namespace std {
-template&lt;&gt; numeric_limits&lt;MyInt&gt; { ... } ;
-}
-
-// A 'floating' numeric type (double) which is also an arithmetic type (built-in),
-// with a float numeric value.
-double pi = M_PI ;
-
-// A 'floating' numeric type with a whole numeric value.
-// NOTE: numeric values are typed valued, hence, they are, for instance,
-// integer or floating, despite the value itself being whole or including
-// a fractional part.
-double two = 2.0 ;
-
-// An integer numeric type with an integer numeric value.
-MyInt i(1234);
-</pre>
-
-
-
-
-<hr>
-<h2><A NAME="range">Range and Precision</A></h2>
-<p>Given a number set 'N', some of its elements are representable in a numeric type 'T'.<br>
-The set of representable values of type 'T', or numeric set of 'T', is a set of numeric values
-whose elements are the representation of some <i>subset</i> of 'N'.<br>
-For example, the interval of 'int' values [INT_MIN,INT_MAX] is the set of representable values
-of type 'int', i.e. the 'int' numeric set, and corresponds to the representation of the elements
-of the interval of abstract values [abt(INT_MIN),abt(INT_MAX)] from the integer numbers.<br>
-Similarly, the interval of 'double' values [-DBL_MAX,DBL_MAX] is the 'double' numeric set,
-which corresponds to the subset of the real numbers from abt(-DBL_MAX) to abt(DBL_MAX).
-</p>
-<p>Let <b>next(x)</b> denote the lowest numeric value greater than x.<br>
-Let <b>prev(x)</b> denote the highest numeric value lower then x.</p>
-<p>Let <code><b>v=prev(next(V))</b></code> and <code><b>v=next(prev(V))</b></code> be identities that relate a numeric
-typed value 'v' with a number 'V'.</p>
-<p>An ordered pair of numeric values <i>x,y</i> s.t. <i>x&lt;y</i> are <b>consecutive</b> iff
-<code>next(x)==y</code>.</p>
-<p>The abstract distance between consecutive numeric values is usually referred
-to as a <u>Unit in the Last Place</u>, or <b>ulp</b> for short. A ulp is a quantity whose abstract
-magnitude is <i>relative</i> to the numeric values it corresponds to: If the numeric set is not evenly
-distributed, that is, if the abstract distance between consecutive numeric values varies along the set
--as is the case with the floating-point types-, the magnitude of 1ulp after the numeric value x
-might be (usually is) different from the magnitude of a 1ulp after the numeric value y for x!=y.</p>
-<p>Since numbers are inherently ordered, a <b>numeric set</b> of type 'T'
-is an ordered sequence of numeric values (of type 'T') of the form:
-</p>
-<p><code>REP(T)={l,next(l),next(next(l)),...,prev(prev(h)),prev(h),h}</code>
-</p>
-<p>where 'l' and 'h' are respectively the lowest and highest values of type 'T', called the
-<b>boundary values</b> of type T.</p>
-<p>A numeric set is discrete. It has a <b>size</b> which is the number
-of numeric values in the set, a <b>width</b> which is the abstract difference between
-the highest and lowest boundary values: [abt(h)-abt(l)], and a <b>density</b>
-which is the relation between its size and width: 'density=size/width'.<br>
-The integer types have density 1, which means that there are no unrepresentable integer numbers
-between abt(l) and abt(h) (i.e. there are no gaps). On the other hand,
-floating types have density much smaller than 1, which means that there are
-real numbers unrepresented between consecutive floating values (i.e. there are gaps).
-</p>
-<p>The interval of <u>abstract values</u> [abt(l),abt(h)] is the <b>range</b> of the type 'T',
-denoted 'R(T)'.<br>
- A range is a set of abstract values and not a set of numeric values. In other
- documents, such as the C++ standard, the word 'range' is <i>sometimes</i> used
- as synonym for 'numeric set', that is, as the ordered sequence of numeric values
- from 'l' to 'h'. In this document, however, a range is an abstract interval
- which subtends the numeric set.<br>
-For example, the sequence [-DBL_MAX,DBL_MAX] is the numeric set of the type 'double', and
-the real interval [abt(-DBL_MAX),abt(DBL_MAX)] is its range.<br>
-Notice, for instance, that the range of a floating-point type is <i>continuous</i> unlike
-its numeric set.<br>
- This definition was chosen because:
-<li>(a) The discrete set of numeric values is already given by the numeric set.</li>
-<li>(b) Abstract intervals are easier to compare and overlap since only boundary values
-need to be considered.</li><br>
-This definition allows for a concise definition of 'subranged' as given in the last section.<br>
-The width of a numeric set, as defined, is exactly equivalent to the width of a range.
-<p></p>
-<p>The <b>precision</b> of a type is given by the width or density of the numeric set.<br>
-For integer types, which have density 1, the precision is conceptually equivalent to the range
-and is determined by the number of bits used in the value representation: The higher the
-number of bits the bigger the size of the numeric set, the wider the range, and the higher
-the precision.<br>
-For floating types, which have density &lt;&lt;1, the precision is given not by the
-width of the range but by the density. In a typical implementation,
-the range is determined by the number of bits used in the exponent, and the precision by
-the number of bits used in the mantissa (giving the maximum number of significant digits
-that can be exactly represented). The higher the number of exponent bits the
-wider the range, while the higher the number of mantissa bits, the higher the precision.
-</p>
-
-
-
-
-
-
-<hr>
-<h2><A NAME="roundoff">Exact, Correctly Rounded and Out-Of-Range Representations</A></h2>
-<p>Given an abstract value 'V' and a type 'T' with its corresponding range [abt(l),abt(h)]:</p>
-<p>If <code>V &lt; abt(l)</code> or <code>V &gt; abt(h)</code>, 'V' is <b>not representable</b>
-(cannot be represented) in the type T, or, equivalently, it's representation in the type 'T'
-is <b>out of range</b>, or <b>overflows</b>.<br>
-If <code>V &lt; abt(l)</code>, the <b>overflow is negative</b>.<br>
-If <code>V &gt; abt(h)</code>, the <b>overflow is positive</b>.
-</p>
-<p>If <code>V &ge; abt(l)</code> and <code>V &le; abt(h)</code>,'V' is <b>representable</b>
-(can be represented) in the type T, or, equivalently, its representation in the type 'T'
-is in <b>in range</b>, or <b>does not overflow</b>.</p>
-<p>Notice that a numeric type, such as a C++ unsigned type, can define that any 'V' does not
-overflow by always representing not 'V' itself but the abstract value <code>U = [ V % (abt(h)+1) ]</code>,
-which is always in range.</p>
-<p>Given an abstract value 'V' represented in the type 'T' as 'v', the <b>roundoff</b> error
-of the representation is the abstract difference: (abt(v)-V).<br>
-Notice that a representation is an <i>operation</i>, hence, the roundoff error corresponds to
-the representation operation and not to the numeric value itself (i.e. numeric values do not
-have any error themselves)<br>
-If the roundoff is 0, the representation is <b>exact</b>, and 'V' is <b>exactly representable</b>
-in the type T.<br>
-If the roundoff is not 0, the representation is <b>inexact</b>, and 'V' is <b>inexactly representable</b>
-in the type T.</p>
-<p>Given an abstract value 'V' representable in a type 'T', there are always two consecutive
-numeric values of type 'T', 'prev' and 'next', such that <code>abt(prev) &le; V &le; abt(next)</code>.
-These are called the <b>adjacents</b> of 'V' in the type 'T'.<br>
-If a representation 'v' in a type 'T' -either exact or inexact-, is any of the adjacents of 'V'
-in that type, that is, if <code>v==prev or v==next</code>, the representation is
-<b>faithfully rounded</b>. If the choice between 'prev' and 'next'
-matches a given <b>rounding direction</b>, it is <b>correctly rounded</b>.<br>
-All exact representations are correctly rounded, but not all inexact representations are. In particular,
-C++ requires numeric conversions (described below) and the result of arithmetic operations
-(not covered by this document) to be correctly rounded, but batch operations propagate roundoff, thus
-final results are usually incorrectly rounded, that is, the numeric value 'r' which is the computed
-result is neither of the adjacents of the abstract value 'R' which is the theoretical result.<br>
-Because a correctly rounded representation is always one of adjacents of the abstract value being
-represented, the roundoff is guaranteed to be at most 1ulp.</p>
-<P>The following examples summarize the given definitions. Consider:</p>
-<li>A numeric type 'Int' representing integer numbers with a <i>numeric set</i>: {-2,-1,0,1,2}
-and <i>range</i>: [-2,2]</li>.
-<li>A numeric type 'Cardinal' representing integer numbers with a <i>numeric set</i>:
-{0,1,2,3,4,5,6,7,8,9} and <i>range</i>: [0,9] (no modulo-arithmetic here)</li>.
-<li>A numeric type 'Real' representing real numbers with a <i>numeric set</i>:
-{-2.0,-1.5,-1.0,-0.5,-0.0,+0.0,+0.5,+1.0,+1.5,+2.0} and <i>range</i>: [-2.0,+2.0]</li>
-<li>A numeric type 'Whole' representing real numbers with a <i>numeric set</i>:
-{-2.0,-1.0,0.0,+1.0,+2.0} and <i>range</i>: [-2.0,+2.0]</li>
-<p>First, notice that the types 'Real' and 'Whole' both represent real numbers, have the
-same range, but different precision.</p>
-<p>The integer number 1 (an abstract value) can be exactly represented in any of these types.<br>
-The integer number -1 can be exactly represented in 'Int', 'Real' and 'Whole', but cannot
-be represented in 'Cardinal', yielding negative overflow.<br>
-The real number 1.5 can be exactly represented in 'Real', and inexactly represented in the
-other types.<br>
-If 1.5 is represented as either 1 or 2 in any of the types (except Real), the
-representation is correctly rounded.<br>
- If 0.5 is represented as +1.5 in the type 'Real', it is incorrectly rounded.<br>
-(-2.0,-1.5) are the 'Real' adjacents of any real number in the interval [-2.0,-1.5],
-yet there are no 'Real' adjacents for x &lt; -2.0, nor for x &gt; +2.0.
-</p>
-
-
-
-
-<hr>
-<h2><A NAME="stdconv">Standard (numeric) Conversions</A></h2>
-<P>The C++ language defines <u>Standard Conversions</u> (&sect;4) some of which are
- conversions between arithmetic types.<br>
- These are <u>Integral promotions</u> (&sect;4.5), <u>Integral conversions</u> (&sect;4.7),
- <u>Floating point promotions</u> (&sect;4.6), <u>Floating point conversions</u> (&sect;4.8)
- and <u>Floating-integral conversions</u> (&sect;4.9).<br>
- In the sequel, integral and floating point promotions are called <b>arithmetic promotions</b>,
- and these plus integral, floating-point and floating-integral conversions are called
- <b>arithmetic conversions</b> (i.e, promotions are conversions).
-</P>
-<P>Promotions, both Integral and Floating point, are <i>value-preserving</i>, which means
-that the typed value is not changed with the conversion.</p>
-<p>In the sequel, consider a source typed value 's' of type 'S', the source abstract value 'N=abt(s)',
-a destination type 'T'; and whenever possible, a result typed value 't' of type 'T'.</p>
-<p>Integer to integer conversions are always defined:<br>
-If 'T' is unsigned, the abstract value which is effectively represented is not 'N' but
-'M=[ N % ( abt(h) + 1 ) ]', where 'h' is the highest unsigned typed value of type 'T'.<br>
-If 'T' is signed and 'N' is not directly representable, the result 't' is
-<u>implementation-defined</u>, which means that the C++ implementation is required to produce
-a value 't' even if it is totally unrelated to 's'.</p>
-<p>Floating to Floating conversions are defined only if 'N' is representable;
- if it is not, the conversion has <u>undefined behavior.</u><br>
-If 'N' is exactly representable, 't' is required to be the exact representation.<br>
-If 'N' is inexactly representable, 't' is required to be one of the two adjacents, with
-an implementation-defined choice of rounding direction; that is, the conversion is required
-to be correctly rounded.</p>
-<p>Floating to Integer conversions represent not 'N' but 'M=trunc(N)', were trunc() is to truncate: i.e.
-to remove the fractional part, if any.<br>
- If 'M' is not representable in 'T', the conversion has <u>undefined behavior</u>
- (unless 'T' is bool, see &sect;4.12).</p>
-<p>Integer to Floating conversions are always defined.<br>
-If 'N' is exactly representable, 't' is required to be the exact representation.<br>
-If 'N' is inexactly representable, 't' is required to be one of the two adjacents, with
-an implementation-defined choice of rounding direction; that is, the conversion is required
-to be correctly rounded.</p>
-
-
-
-
-
-
-<hr>
-<h2><A NAME="subranged">Subranged Conversion Direction, Subtype and Supertype</A></h2>
-<P>Given a source type 'S' and a destination type 'T', there is a <b>conversion direction</b>
-denoted: <code>'S-&gt;T'</code>.<br>
-For any two ranges the following <i>range relation</i> can be defined: A range
-'X' can be <i>entirely contained</i> in a range 'Y', in which case it is said that
-'X' is enclosed by 'Y'.<br>
- Formally: R(S) is <b>enclosed</b> by R(T) iif (R(S) intersection R(T)) == R(S).</P>
-<P>If the source type range, R(S), is <i>not enclosed</i> in the target type range, R(T);
-that is, if (R(S) &amp; R(T)) != R(S), the conversion direction is said to be <b>subranged</b>,
-which means that R(S) is not entirely contained in R(T) and therefore there is
-some portion of the source range which falls outside the target range. In other words,
-if a conversion direction S->T is subranged, there are values in S which cannot be represented
-in T because they are out of range.<br>
- Notice that for S->T, the adjective subranged applies to 'T'.</p>
-<p>Examples:<br>
-Given the following numeric types all representing real numbers:<br>
-<br>
-X with numeric set {-2.0,-1.0,0.0,+1.0,+2.0} and range [-2.0,+2.0]<br>
-Y with numeric set {-2.0,-1.5,-1.0,-0.5,0.0,+0.5,+1.0,+1.5,+2.0} and range [-2.0,+2.0]<br>
-Z with numeric set {-1.0,0.0,+1.0} and range [-1.0,+1.0]<br>
-<br>
-For:<br>
-<br>
-(a) X->Y:
- <blockquote>
- R(X) & R(Y) == R(X), then X->Y is not subranged.
- Thus, all values of type X are representable in the type Y.
- </blockquote>
-(b) Y->X:
- <blockquote>
- R(Y) & R(X) == R(Y), then Y->X is not subranged.
- Thus, all values of type Y are representable in the type X, but in this case, some values
- are <i>inexactly</i> representable (all the halves).<br>
- (note: it is to permit this case that a range is an interval of abstract values
- and not an interval of typed values)
- </blockquote>
-(b) X->Z:
- <blockquote>
- R(X) & R(Z) != R(X), then X->Z is subranged.
- Thus, some values of type X are not representable in the type Z, they fall out of range
- (-2.0 and +2.0)
- </blockquote>
-<p></p>
-<p>It is possible that R(S) is not enclosed by R(T), while neither is R(T) enclosed
-by R(S); for example, UNSIG=[0,255] is not enclosed by SIG=[-128,127]; neither is SIG
-enclosed by UNSIG.<br>
- This implies that is possible that a conversion direction is subranged both
- ways. This occurs when a mixture of signed/unsigned types are involved and indicates
- that in both directions there are values which can fall out of range.</P>
-<P>Given the range relation (subranged or not) of a conversion direction S-&gt;T,
-it is possible to classify 'S' and 'T' as <b>supertype</b> and <b>subtype</b>:<br>
-If the conversion is subranged, which means that 'T' cannot represent all possible values of type 'S',
-'S' is the supertype and 'T' the subtype; otherwise, 'T' is the supertype and 'S' the subtype.<br>
-<br>
-For example:<br>
-R(float)=[-FLT_MAX,FLT_MAX] and R(double)=[-DBL_MAX,DBL_MAX].<br>
-If FLT_MAX < DBL_MAX:<br>
-'double->float' is subranged and supertype=double, subtype=float.<br>
-'float->double' is not subranged and supertype=double, subtype=float.<br>
-Notice that while 'double->float' is subranged, 'float->double' is not,
-which yields the same supertype,subtype for both directions.<br>
-<br>
-Now consider:<br>
-R(int)=[INT_MIN,INT_MAX] and R(unsigned int)=[0,UINT_MAX].<br>
-A C++ implementation is required to have UINT_MAX > INT_MAX (&sect;3.9/3), so:<br>
-'int->unsigned' is subranged (negative values fall out of range) and supertype=int, subtype=unsigned.<br>
-'unsigned->int' is <em>also</em> subranged (high positive values fall out of range)
-and supertype=unsigned, subtype=int.<br>
-In this case, the conversion is subranged in both directions and the supertype,subtype pairs
-are not invariant (under inversion of direction). This indicates that none of the types can
-represent all the values of the other.</p>
-<p>When the supertype is the same for both 'S->T' and 'T->S', it is effectively indicating
-a type which can represent all the values of the subtype.<br>
- Consequently, if a conversion X->Y is not subranged, but the opposite (Y->X)
- is, so that the supertype is always 'Y', it is said that the direction X->Y
- is <b>correctly rounded value preserving</b>, meaning that all such conversions
- are guaranteed to produce results in range and correctly rounded (even if inexact).<br>
-For example, all integer to floating conversions are correctly rounded value preserving.
-</p>
-<HR>
-<P>Back to Numeric Conversion library index</P>
-<HR>
-<P>Revised 23 June 2004</P>
-<p>© Copyright Fernando Luis Cacciola Carballal, 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

Modified: branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/bounds___traits_class.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/bounds___traits_class.html (original)
+++ branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/bounds___traits_class.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -13,17 +13,17 @@
     traits class">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="type_requirements_and_user_defined_types_support.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="conversion_traits___traits_class.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="type_requirements_and_user_defined_types_support.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="conversion_traits___traits_class.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -73,7 +73,7 @@
 <span class="special">};</span>
 </pre>
 <a name="boost_numericconversion.bounds___traits_class.traits_class_bounds_n_.members"></a><h5>
-<a name="id2626217"></a>
+<a name="id2626382"></a>
         <a href="bounds___traits_class.html#boost_numericconversion.bounds___traits_class.traits_class_bounds_n_.members">Members</a>
       </h5>
 <div class="blockquote"><blockquote class="blockquote">
@@ -153,11 +153,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2004 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="type_requirements_and_user_defined_types_support.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="conversion_traits___traits_class.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="type_requirements_and_user_defined_types_support.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="conversion_traits___traits_class.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/conversion_traits___traits_class.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/conversion_traits___traits_class.html (original)
+++ branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/conversion_traits___traits_class.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -13,17 +13,17 @@
     Converter Policy Classes">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="bounds___traits_class.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="numeric_converter_policy_classes.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="bounds___traits_class.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="numeric_converter_policy_classes.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -33,24 +33,6 @@
 </h2></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section">Types</span></dt>
-<dd><dl>
-<dt><span class="section"><a href="conversion_traits___traits_class.html#boost_numericconversion.conversion_traits___traits_class.types.enumeration_int_float_mixture_enum">enumeration
- int_float_mixture_enum</a></span></dt>
-<dt><span class="section"><a href="conversion_traits___traits_class.html#boost_numericconversion.conversion_traits___traits_class.types.enumeration_sign_mixture_enum">enumeration
- sign_mixture_enum</a></span></dt>
-<dt><span class="section"><a href="conversion_traits___traits_class.html#boost_numericconversion.conversion_traits___traits_class.types.enumeration_udt_builtin_mixture_enum">enumeration
- udt_builtin_mixture_enum</a></span></dt>
-<dt><span class="section"><a href="conversion_traits___traits_class.html#boost_numericconversion.conversion_traits___traits_class.types.template_class_int_float_mixture__">template
- class int_float_mixture&lt;&gt;</a></span></dt>
-<dt><span class="section"><a href="conversion_traits___traits_class.html#boost_numericconversion.conversion_traits___traits_class.types.template_class_sign_mixture__">template
- class sign_mixture&lt;&gt;</a></span></dt>
-<dt><span class="section"><a href="conversion_traits___traits_class.html#boost_numericconversion.conversion_traits___traits_class.types.template_class_udt_builtin_mixture__">template
- class udt_builtin_mixture&lt;&gt;</a></span></dt>
-<dt><span class="section"><a href="conversion_traits___traits_class.html#boost_numericconversion.conversion_traits___traits_class.types.template_class_is_subranged__">template
- class is_subranged&lt;&gt;</a></span></dt>
-<dt><span class="section"><a href="conversion_traits___traits_class.html#boost_numericconversion.conversion_traits___traits_class.types.template_class_conversion_traits__">template
- class conversion_traits&lt;&gt;</a></span></dt>
-</dl></dd>
 <dt><span class="section">Examples</span></dt>
 </dl></div>
 <div class="section" lang="en">
@@ -555,11 +537,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2004 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="bounds___traits_class.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="numeric_converter_policy_classes.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="bounds___traits_class.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="numeric_converter_policy_classes.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/converter___function_object.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/converter___function_object.html (original)
+++ branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/converter___function_object.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -12,17 +12,17 @@
     Requirements and User-defined-types support">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="definitions.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="type_requirements_and_user_defined_types_support.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="definitions.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="type_requirements_and_user_defined_types_support.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -401,7 +401,7 @@
 <a name="numeric_conversion_converter_internal"></a><p>
       </p>
 <a name="boost_numericconversion.converter___function_object.member_functions.internal_member_functions"></a><h5>
-<a name="id2623952"></a>
+<a name="id2624118"></a>
         <a href="converter___function_object.html#boost_numericconversion.converter___function_object.member_functions.internal_member_functions">Internal
         Member Functions</a>
       </h5>
@@ -497,11 +497,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2004 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="definitions.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="type_requirements_and_user_defined_types_support.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="definitions.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="type_requirements_and_user_defined_types_support.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/definitions.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/definitions.html (original)
+++ branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/definitions.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -11,17 +11,17 @@
     function object">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../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="converter___function_object.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="../index.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="converter___function_object.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -179,35 +179,42 @@
 <dl>
 <dt><span class="term"><span class="underline">signed integer
         types</span> (§3.9.1/2):</span></dt>
-<dd>
-<code class="computeroutput"><span class="special">{</span><span class="keyword">signed</span>
- <span class="keyword">char</span><span class="special">,</span>
- <span class="keyword">signed</span> <span class="keyword">short</span>
- <span class="keyword">int</span><span class="special">,</span> <span class="keyword">signed</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">signed</span> <span class="keyword">long</span> <span class="keyword">int</span><span class="special">}</span></code> Can be used to represent general integer
- numbers (both negative and positive).
- </dd>
+<dd><p>
+ <code class="computeroutput"><span class="special">{</span><span class="keyword">signed</span>
+ <span class="keyword">char</span><span class="special">,</span>
+ <span class="keyword">signed</span> <span class="keyword">short</span>
+ <span class="keyword">int</span><span class="special">,</span>
+ <span class="keyword">signed</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">signed</span> <span class="keyword">long</span> <span class="keyword">int</span><span class="special">}</span></code> Can be used to represent general integer
+ numbers (both negative and positive).
+ </p></dd>
 <dt><span class="term"><span class="underline">unsigned integer
         types</span> (§3.9.1/3):</span></dt>
-<dd>
-<code class="computeroutput"><span class="special">{</span><span class="keyword">unsigned</span>
- <span class="keyword">char</span><span class="special">,</span>
- <span class="keyword">unsigned</span> <span class="keyword">short</span>
- <span class="keyword">int</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">int</span><span class="special">}</span></code> Can be used to represent positive integer
- numbers with modulo-arithmetic.
- </dd>
+<dd><p>
+ <code class="computeroutput"><span class="special">{</span><span class="keyword">unsigned</span>
+ <span class="keyword">char</span><span class="special">,</span>
+ <span class="keyword">unsigned</span> <span class="keyword">short</span>
+ <span class="keyword">int</span><span class="special">,</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">int</span><span class="special">}</span></code> Can be used to represent positive integer
+ numbers with modulo-arithmetic.
+ </p></dd>
 <dt><span class="term"><span class="underline">floating-point
         types</span> (§3.9.1/8):</span></dt>
-<dd>
-<code class="computeroutput"><span class="special">{</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">}</span></code> Can be used to represent real numbers.
- </dd>
+<dd><p>
+ <code class="computeroutput"><span class="special">{</span><span class="keyword">float</span><span class="special">,</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">}</span></code>
+ Can be used to represent real numbers.
+ </p></dd>
 <dt><span class="term"><span class="underline">integral or
         integer types</span> (§3.9.1/7):</span></dt>
-<dd><code class="computeroutput"><span class="special">{{</span><span class="keyword">signed</span>
- <span class="identifier">integers</span><span class="special">},{</span><span class="keyword">unsigned</span> <span class="identifier">integers</span><span class="special">},</span> <span class="keyword">bool</span><span class="special">,</span> <span class="keyword">char</span> <span class="keyword">and</span> <span class="keyword">wchar_t</span><span class="special">}</span></code></dd>
+<dd><p>
+ <code class="computeroutput"><span class="special">{{</span><span class="keyword">signed</span>
+ <span class="identifier">integers</span><span class="special">},{</span><span class="keyword">unsigned</span> <span class="identifier">integers</span><span class="special">},</span> <span class="keyword">bool</span><span class="special">,</span> <span class="keyword">char</span> <span class="keyword">and</span> <span class="keyword">wchar_t</span><span class="special">}</span></code>
+ </p></dd>
 <dt><span class="term"><span class="underline">arithmetic
         types</span> (§3.9.1/8):</span></dt>
-<dd><code class="computeroutput"><span class="special">{{</span><span class="identifier">integer</span>
- <span class="identifier">types</span><span class="special">},{</span><span class="identifier">floating</span> <span class="identifier">types</span><span class="special">}}</span></code></dd>
+<dd><p>
+ <code class="computeroutput"><span class="special">{{</span><span class="identifier">integer</span>
+ <span class="identifier">types</span><span class="special">},{</span><span class="identifier">floating</span> <span class="identifier">types</span><span class="special">}}</span></code>
+ </p></dd>
 </dl>
 </div>
 <p>
@@ -234,31 +241,23 @@
       </p>
 <div class="note"><table border="0" summary="Note">
 <tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/html/images/note.png"></td>
 <th align="left">Note</th>
 </tr>
 <tr><td align="left" valign="top">
 <p>
- </p>
-<p>
- Always remember that unsigned types, unlike signed types, have modulo-arithmetic;
- that is, they do not overflow. This means that:
- </p>
-<p>
- </p>
-<p>
- <span class="bold"><strong>-</strong></span> Always be extra careful when mixing
- signed/unsigned types
- </p>
-<p>
- </p>
+ Always remember that unsigned types, unlike signed types, have modulo-arithmetic;
+ that is, they do not overflow. This means that:
+ </p>
 <p>
- <span class="bold"><strong>-</strong></span> Use unsigned types only when you need
- modulo arithmetic or very very large numbers. Don't use unsigned types
- just because you intend to deal with positive values only (you can do
- this with signed types as well).
- </p>
+ <span class="bold"><strong>-</strong></span> Always be extra careful when mixing
+ signed/unsigned types
+ </p>
 <p>
+ <span class="bold"><strong>-</strong></span> Use unsigned types only when you need
+ modulo arithmetic or very very large numbers. Don't use unsigned types
+ just because you intend to deal with positive values only (you can do this
+ with signed types as well).
         </p>
 </td></tr>
 </table></div>
@@ -875,37 +874,31 @@
 <p class="title"><b></b></p>
 <dl>
 <dt><span class="term">(a) X-&gt;Y:</span></dt>
-<dd>
-<code class="computeroutput"><span class="identifier">R</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span> <span class="special">&amp;</span>
- <span class="identifier">R</span><span class="special">(</span><span class="identifier">Y</span><span class="special">)</span> <span class="special">==</span>
- <span class="identifier">R</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span></code>, then
- <code class="computeroutput"><span class="identifier">X</span><span class="special">-&gt;</span><span class="identifier">Y</span></code> is not subranged. Thus, all values
- of type <code class="computeroutput"><span class="identifier">X</span></code> are representable
- in the type <code class="computeroutput"><span class="identifier">Y</span></code>.
- </dd>
+<dd><p>
+ <code class="computeroutput"><span class="identifier">R</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span> <span class="special">&amp;</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">Y</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span></code>,
+ then <code class="computeroutput"><span class="identifier">X</span><span class="special">-&gt;</span><span class="identifier">Y</span></code> is not subranged. Thus, all values
+ of type <code class="computeroutput"><span class="identifier">X</span></code> are representable
+ in the type <code class="computeroutput"><span class="identifier">Y</span></code>.
+ </p></dd>
 <dt><span class="term">(b) Y-&gt;X:</span></dt>
-<dd>
-<code class="computeroutput"><span class="identifier">R</span><span class="special">(</span><span class="identifier">Y</span><span class="special">)</span> <span class="special">&amp;</span>
- <span class="identifier">R</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span> <span class="special">==</span>
- <span class="identifier">R</span><span class="special">(</span><span class="identifier">Y</span><span class="special">)</span></code>, then
- <code class="computeroutput"><span class="identifier">Y</span><span class="special">-&gt;</span><span class="identifier">X</span></code> is not subranged. Thus, all values
- of type <code class="computeroutput"><span class="identifier">Y</span></code> are representable
- in the type <code class="computeroutput"><span class="identifier">X</span></code>, but in this
- case, some values are <span class="emphasis"><em>inexactly</em></span> representable (all
- the halves). (note: it is to permit this case that a range is an interval
- of abstract values and not an interval of typed values)
- </dd>
+<dd><p>
+ <code class="computeroutput"><span class="identifier">R</span><span class="special">(</span><span class="identifier">Y</span><span class="special">)</span> <span class="special">&amp;</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">Y</span><span class="special">)</span></code>,
+ then <code class="computeroutput"><span class="identifier">Y</span><span class="special">-&gt;</span><span class="identifier">X</span></code> is not subranged. Thus, all values
+ of type <code class="computeroutput"><span class="identifier">Y</span></code> are representable
+ in the type <code class="computeroutput"><span class="identifier">X</span></code>, but in
+ this case, some values are <span class="emphasis"><em>inexactly</em></span> representable
+ (all the halves). (note: it is to permit this case that a range is an
+ interval of abstract values and not an interval of typed values)
+ </p></dd>
 <dt><span class="term">(b) X-&gt;Z:</span></dt>
-<dd>
-<code class="computeroutput"><span class="identifier">R</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span> <span class="special">&amp;</span>
- <span class="identifier">R</span><span class="special">(</span><span class="identifier">Z</span><span class="special">)</span> <span class="special">!=</span>
- <span class="identifier">R</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span></code>, then
- <code class="computeroutput"><span class="identifier">X</span><span class="special">-&gt;</span><span class="identifier">Z</span></code> is subranged. Thus, some values of
- type <code class="computeroutput"><span class="identifier">X</span></code> are not representable
- in the type <code class="computeroutput"><span class="identifier">Z</span></code>, they fall
- out of range <code class="computeroutput"><span class="special">(-</span><span class="number">2.0</span>
- <span class="keyword">and</span> <span class="special">+</span><span class="number">2.0</span><span class="special">)</span></code>.
- </dd>
+<dd><p>
+ <code class="computeroutput"><span class="identifier">R</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span> <span class="special">&amp;</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">Z</span><span class="special">)</span> <span class="special">!=</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span></code>,
+ then <code class="computeroutput"><span class="identifier">X</span><span class="special">-&gt;</span><span class="identifier">Z</span></code> is subranged. Thus, some values of
+ type <code class="computeroutput"><span class="identifier">X</span></code> are not representable
+ in the type <code class="computeroutput"><span class="identifier">Z</span></code>, they fall
+ out of range <code class="computeroutput"><span class="special">(-</span><span class="number">2.0</span>
+ <span class="keyword">and</span> <span class="special">+</span><span class="number">2.0</span><span class="special">)</span></code>.
+ </p></dd>
 </dl>
 </div>
 <p>
@@ -1007,11 +1000,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2004 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../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="converter___function_object.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="../index.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="converter___function_object.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/improved_numeric_cast__.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/improved_numeric_cast__.html (original)
+++ branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/improved_numeric_cast__.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -13,17 +13,17 @@
     and Acknowledgments">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="numeric_converter_policy_classes.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="../numeric_conversion/history_and_acknowledgments.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="numeric_converter_policy_classes.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../numeric_conversion/history_and_acknowledgments.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -174,11 +174,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2004 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="numeric_converter_policy_classes.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="../numeric_conversion/history_and_acknowledgments.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="numeric_converter_policy_classes.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../numeric_conversion/history_and_acknowledgments.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/numeric_converter_policy_classes.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/numeric_converter_policy_classes.html (original)
+++ branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/numeric_converter_policy_classes.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -13,17 +13,17 @@
     numeric_cast&lt;&gt;">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="conversion_traits___traits_class.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="improved_numeric_cast__.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="conversion_traits___traits_class.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="improved_numeric_cast__.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -165,28 +165,22 @@
       </p>
 <div class="important"><table border="0" summary="Important">
 <tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../images/important.png"></td>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../doc/html/images/important.png"></td>
 <th align="left">Important</th>
 </tr>
-<tr><td align="left" valign="top">
-<p>
- </p>
-<p>
- <span class="bold"><strong>RELEASE NOTE for 1.33</strong></span> Previous to boost
- version 1.33, the exception class <code class="computeroutput"><span class="identifier">bad_numeric_cast</span></code>
- was named <code class="computeroutput"><span class="identifier">bad_numeric_conversion</span></code>.
- However, in 1.33, the old function <code class="computeroutput"><span class="identifier">numeric_cast</span><span class="special">&lt;&gt;</span></code> from <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cast</span><span class="special">.</span><span class="identifier">hpp</span></code>
- was completly replaced by the new <code class="computeroutput"><span class="identifier">numeric_cast</span><span class="special">&lt;&gt;</span></code> in <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">/</span><span class="identifier">conversion</span><span class="special">/</span><span class="identifier">cast</span><span class="special">.</span><span class="identifier">hpp</span></code>
- (and <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cast</span><span class="special">.</span><span class="identifier">hpp</span></code> is including <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">/</span><span class="identifier">conversion</span><span class="special">/</span><span class="identifier">cast</span><span class="special">.</span><span class="identifier">hpp</span></code>
- now). That old function which existed in boost for quite some time used
- the <code class="computeroutput"><span class="identifier">bad_numeric_cast</span></code>
- as its exception type so I decided to avoid backward compatibility problems
- by adopting it (guessing that the user base for the old code is wider
- than for the new code).
- </p>
-<p>
- </p>
-</td></tr>
+<tr><td align="left" valign="top"><p>
+ <span class="bold"><strong>RELEASE NOTE for 1.33</strong></span> Previous to boost
+ version 1.33, the exception class <code class="computeroutput"><span class="identifier">bad_numeric_cast</span></code>
+ was named <code class="computeroutput"><span class="identifier">bad_numeric_conversion</span></code>.
+ However, in 1.33, the old function <code class="computeroutput"><span class="identifier">numeric_cast</span><span class="special">&lt;&gt;</span></code> from <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cast</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ was completly replaced by the new <code class="computeroutput"><span class="identifier">numeric_cast</span><span class="special">&lt;&gt;</span></code> in <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">/</span><span class="identifier">conversion</span><span class="special">/</span><span class="identifier">cast</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ (and <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cast</span><span class="special">.</span><span class="identifier">hpp</span></code> is including <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">/</span><span class="identifier">conversion</span><span class="special">/</span><span class="identifier">cast</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ now). That old function which existed in boost for quite some time used
+ the <code class="computeroutput"><span class="identifier">bad_numeric_cast</span></code> as
+ its exception type so I decided to avoid backward compatibility problems
+ by adopting it (guessing that the user base for the old code is wider than
+ for the new code).
+ </p></td></tr>
 </table></div>
 </div>
 <a name="numeric_conversion_policy_float_to_int_rounder"></a><p>
@@ -226,20 +220,14 @@
       </p>
 <div class="note"><table border="0" summary="Note">
 <tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/html/images/note.png"></td>
 <th align="left">Note</th>
 </tr>
-<tr><td align="left" valign="top">
-<p>
- </p>
-<p>
- These classes are not intended to be general purpose rounding functions
- but specific policies for <code class="computeroutput"><span class="identifier">converter</span><span class="special">&lt;&gt;</span></code>. This is why they are not function
- objects.
- </p>
-<p>
- </p>
-</td></tr>
+<tr><td align="left" valign="top"><p>
+ These classes are not intended to be general purpose rounding functions
+ but specific policies for <code class="computeroutput"><span class="identifier">converter</span><span class="special">&lt;&gt;</span></code>. This is why they are not function
+ objects.
+ </p></td></tr>
 </table></div>
 <pre class="programlisting">
 <span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">numeric</span> <span class="special">{</span>
@@ -299,7 +287,7 @@
 <span class="special">}</span> <span class="special">}</span> <span class="comment">// namespace numeric, namespace boost
 </span></pre>
 <a name="boost_numericconversion.numeric_converter_policy_classes.policy_float2introunder.math_functions_used_by_the_rounder_policies"></a><h5>
-<a name="id2633882"></a>
+<a name="id2634042"></a>
         <a href="numeric_converter_policy_classes.html#boost_numericconversion.numeric_converter_policy_classes.policy_float2introunder.math_functions_used_by_the_rounder_policies">Math
         Functions used by the rounder policies</a>
       </h5>
@@ -422,11 +410,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2004 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="conversion_traits___traits_class.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="improved_numeric_cast__.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="conversion_traits___traits_class.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="improved_numeric_cast__.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/type_requirements_and_user_defined_types_support.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/type_requirements_and_user_defined_types_support.html (original)
+++ branches/fix-links/libs/numeric/conversion/doc/html/boost_numericconversion/type_requirements_and_user_defined_types_support.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -13,17 +13,17 @@
     traits class">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="converter___function_object.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="bounds___traits_class.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="converter___function_object.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="bounds___traits_class.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -86,7 +86,7 @@
       special semantics</a>
 </h3></div></div></div>
 <a name="boost_numericconversion.type_requirements_and_user_defined_types_support.udt_s_special_semantics.conversion_traits"></a><h5>
-<a name="id2625220"></a>
+<a name="id2625386"></a>
         <a href="type_requirements_and_user_defined_types_support.html#boost_numericconversion.type_requirements_and_user_defined_types_support.udt_s_special_semantics.conversion_traits">Conversion
         Traits</a>
       </h5>
@@ -130,7 +130,7 @@
         above.
       </p>
 <a name="boost_numericconversion.type_requirements_and_user_defined_types_support.udt_s_special_semantics.range_checking"></a><h5>
-<a name="id2625640"></a>
+<a name="id2625806"></a>
         <a href="type_requirements_and_user_defined_types_support.html#boost_numericconversion.type_requirements_and_user_defined_types_support.udt_s_special_semantics.range_checking">Range
         Checking</a>
       </h5>
@@ -183,11 +183,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2004 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="converter___function_object.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="bounds___traits_class.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="converter___function_object.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="bounds___traits_class.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/numeric/conversion/doc/html/index.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/html/index.html (original)
+++ branches/fix-links/libs/numeric/conversion/doc/html/index.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -8,16 +8,16 @@
 <link rel="next" href="boost_numericconversion/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 C++ Libraries" width="277" height="86" src="../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_numericconversion/definitions.html"><img src="images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="boost_numericconversion/definitions.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a></div>
 <div class="chapter" lang="en">
 <div class="titlepage"><div>
 <div><h2 class="title">
@@ -27,7 +27,7 @@
 </h3></div></div>
 <div><p class="copyright">Copyright © 2004 -2007 Fernando Luis Cacciola Carballal</p></div>
 <div><div class="legalnotice">
-<a name="id2604797"></a><p>
+<a name="id2604942"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -178,10 +178,10 @@
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><small><p>Last revised: June 04, 2007 at 03:08:57 GMT</p></small></td>
-<td align="right"><small></small></td>
+<td align="left"><p><small>Last revised: February 12, 2008 at 22:56:38 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_numericconversion/definitions.html"><img src="images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="boost_numericconversion/definitions.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a></div>
 </body>
 </html>

Modified: branches/fix-links/libs/numeric/conversion/doc/html/numeric_conversion/bibliography.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/html/numeric_conversion/bibliography.html (original)
+++ branches/fix-links/libs/numeric/conversion/doc/html/numeric_conversion/bibliography.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -10,17 +10,17 @@
     and Acknowledgments">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="history_and_acknowledgments.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="p" href="history_and_acknowledgments.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -73,11 +73,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2004 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="history_and_acknowledgments.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="p" href="history_and_acknowledgments.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/numeric/conversion/doc/html/numeric_conversion/history_and_acknowledgments.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/html/numeric_conversion/history_and_acknowledgments.html (original)
+++ branches/fix-links/libs/numeric/conversion/doc/html/numeric_conversion/history_and_acknowledgments.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -12,17 +12,17 @@
 <link rel="next" href="bibliography.html" title="Bibliography">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../boost_numericconversion/improved_numeric_cast__.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="bibliography.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="../boost_numericconversion/improved_numeric_cast__.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="bibliography.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -31,7 +31,7 @@
     and Acknowledgments</a>
 </h2></div></div></div>
 <a name="numeric_conversion.history_and_acknowledgments.pre_formal_review"></a><h4>
-<a name="id2636340"></a>
+<a name="id2636499"></a>
       <a href="history_and_acknowledgments.html#numeric_conversion.history_and_acknowledgments.pre_formal_review">Pre-formal
       review</a>
     </h4>
@@ -67,7 +67,7 @@
       </li>
 </ul></div>
 <a name="numeric_conversion.history_and_acknowledgments.post_formal_review"></a><h4>
-<a name="id2636492"></a>
+<a name="id2636651"></a>
       <a href="history_and_acknowledgments.html#numeric_conversion.history_and_acknowledgments.post_formal_review">Post-formal
       review</a>
     </h4>
@@ -85,11 +85,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2004 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2004 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../boost_numericconversion/improved_numeric_cast__.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="bibliography.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="../boost_numericconversion/improved_numeric_cast__.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="bibliography.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Deleted: branches/fix-links/libs/numeric/conversion/doc/index.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/index.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
+++ (empty file)
@@ -1,119 +0,0 @@
-<HTML>
- <HEAD>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
- <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../boost.css">
- <TITLE>Boost Numeric Conversion Library - Index</TITLE>
- </HEAD>
- <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000ff" VLINK="#800080">
- <TABLE BORDER="0" CELLPADDING="7" CELLSPACING="0" WIDTH="100%"
- SUMMARY="header">
- <TR>
- <TH VALIGN="top" WIDTH="300">
- <H3><A HREF="../../../../index.htm"><IMG HEIGHT="86" WIDTH="277"
- ALT="C++ Boost" SRC="../../../../boost.png" BORDER="0"></A></H3> </TH>
- <TH VALIGN="top">
- <H1 ALIGN="center">Boost Numeric Conversion Library</H1> </TH>
- </TR>
- </TABLE>
- <HR>
- <table border="0" cellpadding="0" width="100%">
- <tr>
- <td width="50%" valign="top"><font size="4">This Document</font><br><br>
- &nbsp;&nbsp;&nbsp; Overview<br>
- &nbsp;&nbsp;&nbsp; History and Acknowledgments<br>
- &nbsp;&nbsp;&nbsp; Bibliography<br>
- </td>
- <td width="50%"><font size="4">Other Documents</font><br><br>
- &nbsp;&nbsp;&nbsp; Definitions<br>
- &nbsp;&nbsp;&nbsp; converter<> function object<br>
- &nbsp;&nbsp;&nbsp; Type Requirements and User-defined-types support<br>
- &nbsp;&nbsp;&nbsp; bounds<> traits class<br>
- &nbsp;&nbsp;&nbsp; conversion_traits<> traits class<br>
- &nbsp;&nbsp;&nbsp; Numeric Converter Policy Classes<br>
- &nbsp;&nbsp;&nbsp; Improved numeric_cast<><br>
- </td>
- </tr>
- </table>
-
-<hr>
-<H2><A NAME="Overview"></A>Overview</H2>
-<P>The Boost Numeric Conversion library is a collection of tools to describe and perform
-conversions between values of different numeric types.</p>
-<p>The library includes a special alternative for a subset of <code>std::numeric_limits&lt;&gt;</code>,
-the bounds<> traits class, which provides
-a consistent way to obtain the boundary values for the
-range of a numeric type.</p>
-<p>It also includes a set of trait classes which
- describes the compile-time properties of a conversion from a source to a target
- numeric type. Both arithmetic and <a href="definitions.html#numtypes">user-defined
- numeric types</a> can be used.</p>
-<p>A policy-based converter object which uses <code>conversion_traits</code>
-to select an optimized implementation is supplied.
-Such implementation uses an optimal range checking code suitable for the source/target combination.<br>
- The converter's out-of-range behavior can be customized via an OverflowHandler
- policy.<br>
-For floating-point to integral conversions, the rounding mode can be selected via
-the Float2IntRounder policy.<br>
- A custom low-level conversion routine (for UDTs for instance) can be passed
- via a RawConverter policy.<br>
- The optimized automatic range-checking logic can be overridden via a UserRangeChecker
- policy.</p>
-<hr>
-<H2><A NAME="Ack"></A>History and Acknowledgments</H2>
-<p>Pre-formal review:</p>
-<blockquote>
-<p>Kevlin Henney, with help from David Abrahams and Beman Dawes, originally contributed
-the previous version of numeric_cast&lt;&gt; which already presented the idea of a runtime range check.<br>
- Later, Eric Ford, Kevin Lynch and the author spotted some genericity problems
- with that numeric_cast&lt;&gt; which prevented it from being used in a generic
- layer of math functions.<br>
-An improved numeric_cast&lt;&gt; which properly handled all combinations of arithmetic types was presented.<br>
- David Abrahams and Beman Dawes acknowledged the need of an improved version
- of numeric_cast&lt;&gt; and supported the submission as originally laid out.
- Daryl Walker and Darin Adler made some important comments and proposed fixes
- to the original submission.</p>
- <p>Special thanks go to Björn Karlsoon who helped the author considerably. Having
- found the problems with numeric_cast&lt;&gt; himself, he revised very carefully
- the original submission and spot a subtle bug in the range checking implementation.
- He also wrote part of this documentation and proof-read and corrected other
- parts. And most importantly: the features now presented here in this library
- evolved from the original submission as a result of the useful private communications
- between Björn and the author.</p>
-</blockquote>
-<p>Post-formal review:</p>
-<p>Guillaume Melquiond spoted some documentation and code issues, particularly about rounding conversions.<br>
-The following people contributed an important review of the design, documentation and code: Kevin Lynch, Thorsten Ottosen, Paul Bristow,
-Daryle Walker, Jhon Torjo, Eric Ford, Gennadiy Rozental.
-</p>
-<hr>
-<H2><A NAME="Ref"></A>Bibliography</H2>
-<ul>
- <li>Standard Documents:
- <ol>
-<li>ISO/IEC 14882:98 (C++98 Standard)</li>
-<li>ISO/IEC 9899:1999 (C99 Standard)</li>
-<li>ISO/IEC 10967-1 (Language Independent Arithmetic (LIA), Part I, 1994)</li>
-<li>ISO/IEC 2382-1:1993 (Information Technology - Vocabulary - Part I: Fundamental Terms)</li>
-<li>ANSI/IEEE 754-1985 [and IEC 60559:1989] (Binary floating-point)</li>
-<li>ANSI/IEEE 854-1988 (Radix Independent floating-point)</li>
-<li>ANSI X3/TR-1-82 (Dictionary for Information Processing Systems)</li>
-<li>ISO/IEC JTC1/SC22/WG14/N753 C9X Revision Proposal: LIA-1 Binding: Rationale</li>
-</ol>
-</li>
-<li>Papers:
-<ol>
-<li>David Goldberg <A href="http://citeseer.ist.psu.edu/goldberg91what.html">
- What Every Computer Scientist Should Know About Floating-Point Arithmetic</A></li>
-<li>Prof. William Kahan papers on floating-point.</li>
-</ol>
-</li>
-</ul>
-<HR>
-<P>Revised 23 June 2004</P>
-<p>© Copyright Fernando Luis Cacciola Carballal, 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

Deleted: branches/fix-links/libs/numeric/conversion/doc/numeric_cast.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/numeric_cast.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
+++ (empty file)
@@ -1,134 +0,0 @@
-<HTML>
- <HEAD>
- <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../boost.css">
- <TITLE>Boost Numeric Conversion Library - numeric_cast</TITLE>
- </HEAD>
- <BODY BGCOLOR="#FFFFFF" TEXT="#000000">
- <TABLE BORDER="0" CELLPADDING="7" CELLSPACING="0" WIDTH="100%"
- SUMMARY="header">
- <TR>
- <TH VALIGN="top" WIDTH="300">
- <H3><A HREF="../../../../index.htm"><IMG HEIGHT="86" WIDTH="277"
- ALT="C++ Boost" SRC="../../../../boost.png" BORDER="0"></A></H3> </TH>
- <TH VALIGN="top">
- <H1 ALIGN="center">Boost Numeric Conversion Library</H1>
- <H1>Header <A
- HREF="../../../../boost/numeric/conversion/cast.hpp">boost/numeric/conversion/cast.hpp</A></H1> </TH>
- </TR>
- </TABLE><HR>
- <H2>Contents</H2>
- <UL>
- <LI>Introduction</LI>
- <LI>numeric_cast</LI>
- <LI>Examples</LI>
- </UL> <HR>
- <H2><A NAME="introduction">Introduction</A></H2>
- <P>The lack of preservation of range makes conversions between numeric
- types error prone. This is true for both implicit conversions and explicit
- conversions (through static_cast). numeric_cast
- detects loss of range when a numeric type is converted, and throws an
- exception if the range cannot be preserved.</P>
- <P>There are several situations where conversions are unsafe: </P>
- <UL>
- <LI>Conversions from an integral type with a wider range than the target
- integral type.</LI>
- <LI> Conversions from unsigned to signed (and vice versa) integral
- types.</LI>
- <LI> Conversions from floating point types to integral types.</LI>
- </UL>
- <P>The C++ Standard does not specify the behavior when a numeric type is
- assigned a value that cannot be represented by the type, except for unsigned
- integral types [3.9.1.4], which must obey the laws of arithmetic modulo
- 2<SUP>n</SUP> (this implies that the result will be reduced modulo the number
- that is one greater than the largest value that can be represented). The fact
- that the behavior for overflow is undefined for all conversions (except the
- aforementioned unsigned to unsigned) makes any code that may produce positive
- or negative overflows exposed to portability issues.</P>
- <P>numeric_cast adheres to the rules for implicit conversions mandated by
- the C++ Standard, such as truncating floating point types when converting to
- integral types. The implementation must guarantee that for a conversion to a
- type that can hold all possible values of the source type, there will be no
- runtime overhead. <BR> <BR> </P> <HR>
- <H2><A NAME="numeric_cast"><CODE>numeric_cast</CODE></A></H2>
- <BLOCKQUOTE>
- <PRE>template&lt;typename Target, typename Source&gt; inline
-typename boost::numeric::converter&lt;Target,Source&gt;::result_type
-numeric_cast ( Source arg )
-{
- return boost::numeric::converter&lt;Target,Source&gt;::convert(arg);
-}
-</PRE> </BLOCKQUOTE>
- <P>numeric_cast returns the result of converting a value of type Source to a value of type
- Target. If out-of-range is detected, an exception is thrown (see
- bad_numeric_cast, <A
- HREF="converter_policies.html#posovr">positive_overflow</A> and
- negative_overflow). <BR> <BR> </P> <HR>
- <H2><A NAME="examples">Examples</A></H2>
- <P>The following example performs some typical conversions between numeric
- types: </P>
- <BLOCKQUOTE>
- <PRE>#include &lt;boost/numeric/conversion/cast.hpp&gt;
-#include &lt;iostream&gt;
-
-int main()
-{
- using boost::numeric_cast;
-
- using boost::numeric::bad_numeric_cast;
- using boost::numeric::positive_overflow;
- using boost::numeric::negative_overflow;
-
- try
- {
- int i=42;
- short s=numeric_cast&lt;short&gt;(i); // This conversion succeeds (is in range)
- }
- catch(negative_overflow&amp; e) {
- std::cout &lt;&lt; e.what();
- }
- catch(positive_overflow&amp; e) {
- std::cout &lt;&lt; e.what();
- }
-
- try
- {
- float f=-42.1234;
-
- // This will cause a boost::numeric::negative_overflow exception to be thrown
- unsigned int i=numeric_cast&lt;unsigned int&gt;(f);
- }
- catch(bad_numeric_cast&amp; e) {
- std::cout &lt;&lt; e.what();
- }
-
- double d= f + numeric_cast&lt;double&gt;(123); // int -> double
-
- unsigned long l=std::numeric_limits&lt;unsigned long&gt;::max();
-
- try
- {
- // This will cause a boost::numeric::positive_overflow exception to be thrown
- // NOTE: *operations* on unsigned integral types cannot cause overflow
- // but *conversions* to a signed type ARE range checked by numeric_cast.
-
- unsigned char c=numeric_cast&lt;unsigned char&gt;(l);
- }
- catch(positive_overflow&amp; e) {
- std::cout &lt;&lt; e.what();
- }
-
-
- return 0;
-}</PRE> </BLOCKQUOTE> <BR> <BR> <HR>
-<HR>
-<P>Back to Numeric Conversion library index</P>
-<HR>
-<P>Revised 20 May 2006</P>
-<p>© Copyright Boost 1999</p>
-<p>© Copyright Fernando Luis Cacciola Carballal, 1999,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

Deleted: branches/fix-links/libs/numeric/conversion/doc/requirements.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/doc/requirements.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
+++ (empty file)
@@ -1,116 +0,0 @@
-<HTML>
- <HEAD>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
- <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../boost.css">
- <TITLE>Boost Numeric Conversion Library - Type Requirements and User-defined-types support</TITLE>
- </HEAD>
- <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000ff" VLINK="#800080">
- <TABLE BORDER="0" CELLPADDING="7" CELLSPACING="0" WIDTH="100%"
- SUMMARY="header">
- <TR>
- <TH VALIGN="top" WIDTH="300">
- <H3><A HREF="../../../../index.htm"><IMG HEIGHT="86" WIDTH="277"
- ALT="C++ Boost" SRC="../../../../boost.png" BORDER="0"></A></H3> </TH>
- <TH VALIGN="top">
- <H1 ALIGN="center">Boost Numeric Conversion Library</H1>
- <H1 ALIGN="center">Type Requirements<br>and<br>User-defined-types support</H1>
- </TH>
- </TR>
- </TABLE> <HR>
- <H2>Contents</H2>
- <DL CLASS="page-index">
- <DT>Type Requirements</DT>
- <DT>UDT's special semantics</DT>
- <DT>Special Policies</DT>
- </DL>
-
-
- <HR>
-
-<H2><A NAME="req"></A>Type Requirements</H2>
-<P>Both arithmetic (built-in) and user-defined numeric types require proper specialization of
-<CODE>std::numeric_limits<></CODE> (that is, with (in-class) integral constants).<br>
-The library uses <CODE>std::numeric_limits&lt;T&gt;::is_specialized</CODE> to detect whether
- the type is builtin or user defined, and <CODE>std::numeric_limits&lt;T&gt;::is_integer,
- std::numeric_limits&lt;T&gt;::is_signed</CODE>
- to detect whether the type is integer or floating point; and whether it is signed/unsigned.</P>
-<P>The default Float2IntRounder policies uses unqualified calls to functions <CODE>floor()
- and ceil()</CODE>; but the standard functions are introduced in scope by a
- using directive:</P>
-<PRE>using std::floor ; return floor(s); </PRE>
-<P>Therefore, for builtin arithmetic types, the std functions will be used.
- User defined types should provide overloaded versions of these functions in
- order to use the default rounder policies. If these overloads are defined within a user namespace
- argument dependent lookup (ADL) should find them, but if your compiler has a weak ADL
- you might need to put these functions some place else or write your own rounder policy.</P>
-<P>The default Trunc&lt;&gt; rounder policy needs to determine if the source value
- is positive or not, and for this it evaluates the expression &quot;s &lt; static_cast&lt;S&gt;(0)&quot;.
- Therefore, user defined types require a visible operator &lt; in order to use
- the Trunc<> policy (the default).<br>
-</P>
-
-<HR>
-<H2><A NAME="sem"></A>UDT's special semantics</H2>
-
-<p><u>Conversion Traits</u></p>
-<p>If a User Defined Type is involved in a conversion, it is <i>assumed</i> that
- the UDT has wider range than any built-in
- type, and consequently the values of some <code>converter_traits&lt;&gt;</code>
- members are hardwired regardless of the reality. The following table summarizes
- this:</p>
-
-<li>Target=UDT and Source=built-in
- <blockquote><code>subranged=false</code><br>
- <code>supertype=Target</code><br>
- <code>subtype=Source</code></blockquote>
- </li>
-
- <li>Target=built-in and Source=UDT
- <blockquote><code>subranged=true</code><br>
- <code>supertype=Source</code><br>
- <code>subtype=Target</code></blockquote>
- </li>
-
-<li>Target=UDT and Source=UDT
- <blockquote><code>subranged=false</code><br>
- <code>supertype=Target</code><br>
- <code>subtype=Source</code></blockquote>
- </li>
-<p>The Traits member <code>udt_mixture</code> can be used to detect whether a
- UDT is involved and to infer the validity of the other members as shown above.</p>
-<p><u>Range Checking</u></p>
-<p>Because User Defined Numeric Types might have peculiar ranges (such as an unbounded
- range), this library does not attempt to supply a meaningful range checking
- logic when UDTs are involved in a conversion. Therefore, if either Target or
- Source are not built-in types, the bundled range checking of the <code>converter&lt;&gt;</code>
- function object is automatically disabled. However, it is possible to supply
- a user-defined range-checker. See Special Policies</p>
-
-<HR>
-<H2><A NAME="hooks"></A>Special Policies</H2>
-<p>There are two components of the <code>converter&lt;&gt;</code> class that might
- require special behavior if User Defined Numeric Types are involved: the Range
- Checking and the Raw Conversion.</p>
-<p>When both Target and Source are built-in types, the converter class uses an
- <i>internal</i> range checking logic which is optimized and customized for the
- combined properties of the types.<br>
- However, this internal logic is disabled when either type is User Defined. In
- this case, the user can specify an <i>external</i> range checking policy which
- will be used in place of the internal code.
- See UserRangeChecker policy for details.</p>
-<p>The converter class performs the actual conversion using a Raw Converter policy.
- The default raw converter simply performs a <code>&quot;static_cast&lt;Target&gt;(source)&quot;.</code><br>
- However, if the a UDT is involved, the static_cast might not work. In this case,
- the user can implement and pass a different raw converter policy.
- See RawConverter policy for details </p>
-<HR>
-<P>Back to Numeric Conversion library index</P>
-<HR>
-<P>Revised 23 June 2004</P>
-<p>© Copyright Fernando Luis Cacciola Carballal, 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>

Modified: branches/fix-links/libs/numeric/conversion/index.html
==============================================================================
--- branches/fix-links/libs/numeric/conversion/index.html (original)
+++ branches/fix-links/libs/numeric/conversion/index.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="refresh" content="0; URL=doc/index.html">
+<meta http-equiv="refresh" content="0; URL=doc/html/index.html">
 </head>
 <body>
 Automatic redirection failed, please go to
-doc/index.html.&nbsp;<hr>
-<p>© Copyright Beman Dawes, 2001</p>
+doc/index.html.&nbsp;<hr>
+<p>� Copyright Beman Dawes, 2001</p>
 <p>Distributed under the Boost Software License, Version 1.0. (See accompanying
 file LICENSE_1_0.txt or copy
 at www.boost.org/LICENSE_1_0.txt)</p>

Modified: branches/fix-links/libs/optional/doc/Jamfile.v2
==============================================================================
--- branches/fix-links/libs/optional/doc/Jamfile.v2 (original)
+++ branches/fix-links/libs/optional/doc/Jamfile.v2 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -21,8 +21,10 @@
     :
         optional
     :
- <xsl:param>toc.max.depth=1
- <xsl:param>toc.section.depth=1
+ <xsl:param>boost.root=../../../..
+ <xsl:param>boost.libraries=../../../libraries.htm
+ <xsl:param>toc.max.depth=2
+ <xsl:param>toc.section.depth=2
         <xsl:param>chunk.section.depth=1
         <xsl:param>boost.root=../../../..
         <xsl:param>boost.libraries=../../../libraries.htm

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/a_note_about_optional_bool_.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/a_note_about_optional_bool_.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/a_note_about_optional_bool_.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -12,17 +12,17 @@
     Guarantees">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="in_place_factories.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="exception_safety_guarantees.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="in_place_factories.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="exception_safety_guarantees.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -74,11 +74,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="in_place_factories.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="exception_safety_guarantees.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="in_place_factories.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="exception_safety_guarantees.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/acknowledgments.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/acknowledgments.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/acknowledgments.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -10,24 +10,24 @@
     and Portability">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="dependencies_and_portability.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="p" href="dependencies_and_portability.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.acknowledgments"></a>Acknowledgments
 </h2></div></div></div>
 <a name="boost_optional.acknowledgments.pre_formal_review"></a><h4>
-<a name="id2644860"></a>
+<a name="id2645003"></a>
       <a href="acknowledgments.html#boost_optional.acknowledgments.pre_formal_review">Pre-formal
       review</a>
     </h4>
@@ -66,7 +66,7 @@
       </li>
 </ul></div>
 <a name="boost_optional.acknowledgments.post_formal_review"></a><h4>
-<a name="id2644931"></a>
+<a name="id2645073"></a>
       <a href="acknowledgments.html#boost_optional.acknowledgments.post_formal_review">Post-formal
       review</a>
     </h4>
@@ -112,11 +112,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="dependencies_and_portability.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="p" href="dependencies_and_portability.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/dependencies_and_portability.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/dependencies_and_portability.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/dependencies_and_portability.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -11,17 +11,17 @@
 <link rel="next" href="acknowledgments.html" title="Acknowledgments">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="implementation_notes.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="acknowledgments.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="implementation_notes.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgments.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -36,11 +36,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="implementation_notes.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="acknowledgments.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="implementation_notes.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgments.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/detailed_semantics.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/detailed_semantics.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/detailed_semantics.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -10,17 +10,17 @@
 <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 C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="synopsis.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="examples.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="synopsis.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -29,36 +29,42 @@
 <p>
       Because <code class="computeroutput"><span class="identifier">T</span></code> might be of reference
       type, in the sequel, those entries whose semantic depends on <code class="computeroutput"><span class="identifier">T</span></code> being of reference type or not will be
- distinguished using the following convention: * If the entry reads: <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span></code><span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">&gt;</span></code>, the description corresponds only to the
- case where <code class="computeroutput"><span class="identifier">T</span></code> is not of reference
- type. * If the entry reads: <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&amp;&gt;</span></code>,
- the description corresponds only to the case where <code class="computeroutput"><span class="identifier">T</span></code>
- is of reference type. * If the entry reads: <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>,
- the description is the same for both cases.
+ distinguished using the following convention:
     </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ If the entry reads: <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span></code><span class="emphasis"><em>(not
+ a ref)</em></span><code class="computeroutput"><span class="special">&gt;</span></code>, the description
+ corresponds only to the case where <code class="computeroutput"><span class="identifier">T</span></code>
+ is not of reference type.
+ </li>
+<li>
+ If the entry reads: <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&amp;&gt;</span></code>,
+ the description corresponds only to the case where <code class="computeroutput"><span class="identifier">T</span></code>
+ is of reference type.
+ </li>
+<li>
+ If the entry reads: <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>,
+ the description is the same for both cases.
+ </li>
+</ul></div>
 <div class="note"><table border="0" summary="Note">
 <tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
 <th align="left">Note</th>
 </tr>
-<tr><td align="left" valign="top">
-<p>
- </p>
-<p>
- The following section contains various <code class="computeroutput"><span class="identifier">assert</span><span class="special">()</span></code> which are used only to show the postconditions
- as sample code. It is not implied that the type <code class="computeroutput"><span class="identifier">T</span></code>
- must support each particular expression but that if the expression is supported,
- the implied condition holds.
- </p>
-<p>
- </p>
-</td></tr>
+<tr><td align="left" valign="top"><p>
+ The following section contains various <code class="computeroutput"><span class="identifier">assert</span><span class="special">()</span></code> which are used only to show the postconditions
+ as sample code. It is not implied that the type <code class="computeroutput"><span class="identifier">T</span></code>
+ must support each particular expression but that if the expression is supported,
+ the implied condition holds.
+ </p></td></tr>
 </table></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
 <a name="boost_optional.detailed_semantics.optional_class_member_functions"></a><h4>
-<a name="id2620116"></a>
+<a name="id2620257"></a>
       <a href="detailed_semantics.html#boost_optional.detailed_semantics.optional_class_member_functions">optional
       class member functions</a>
     </h4>
@@ -1334,7 +1340,7 @@
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
 <a name="boost_optional.detailed_semantics.free_functions"></a><h4>
-<a name="id2633284"></a>
+<a name="id2633426"></a>
       <a href="detailed_semantics.html#boost_optional.detailed_semantics.free_functions">Free functions</a>
     </h4>
 <p>
@@ -1693,11 +1699,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="synopsis.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="examples.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="synopsis.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/development.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/development.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/development.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -10,17 +10,17 @@
 <link rel="next" href="synopsis.html" title="Synopsis">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../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="synopsis.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -292,7 +292,7 @@
         itself which are supported by a special interface.
       </p>
 <a name="boost_optional.development.the_interface.lexically_hinted_value_access_in_the_presence_of_possibly_untitialized_optional_objects__the_operators___and___gt_"></a><h5>
-<a name="id2615242"></a>
+<a name="id2615375"></a>
         <a href="development.html#boost_optional.development.the_interface.lexically_hinted_value_access_in_the_presence_of_possibly_untitialized_optional_objects__the_operators___and___gt_">Lexically-hinted
         Value Access in the presence of possibly untitialized optional objects: The
         operators * and -&gt;</a>
@@ -357,7 +357,7 @@
         incarnated by pointers.
       </p>
 <a name="boost_optional.development.the_interface.optional_lt_t_gt__as_a_model_of_optionalpointee"></a><h5>
-<a name="id2615580"></a>
+<a name="id2615714"></a>
         <a href="development.html#boost_optional.development.the_interface.optional_lt_t_gt__as_a_model_of_optionalpointee">Optional&lt;T&gt;
         as a model of OptionalPointee</a>
       </h5>
@@ -369,19 +369,12 @@
       </p>
 <div class="warning"><table border="0" summary="Warning">
 <tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../images/warning.png"></td>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../doc/html/images/warning.png"></td>
 <th align="left">Warning</th>
 </tr>
-<tr><td align="left" valign="top">
-<p>
- </p>
-<p>
- However, it is particularly important to note that <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;&gt;</span></code> objects are not pointers. <span class="underline"><code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;&gt;</span></code> is not, and does not model, a
- pointer</span>.
- </p>
-<p>
- </p>
-</td></tr>
+<tr><td align="left" valign="top"><p>
+ However, it is particularly important to note that <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;&gt;</span></code> objects are not pointers. <span class="underline"><code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;&gt;</span></code> is not, and does not model, a pointer</span>.
+ </p></td></tr>
 </table></div>
 <p>
         For instance, <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;&gt;</span></code>
@@ -405,11 +398,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../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="synopsis.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/examples.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/examples.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/examples.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -10,17 +10,17 @@
 <link rel="next" href="optional_references.html" title="Optional references">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="detailed_semantics.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="optional_references.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="detailed_semantics.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="optional_references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -141,11 +141,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="detailed_semantics.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="optional_references.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="detailed_semantics.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="optional_references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/exception_safety_guarantees.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/exception_safety_guarantees.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/exception_safety_guarantees.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -12,17 +12,17 @@
 <link rel="next" href="type_requirements.html" title="Type requirements">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="a_note_about_optional_bool_.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="type_requirements.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="a_note_about_optional_bool_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="type_requirements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -116,7 +116,7 @@
 <span class="special">}</span>
 </pre>
 <a name="boost_optional.exception_safety_guarantees.swap"></a><h4>
-<a name="id2644335"></a>
+<a name="id2644478"></a>
       <a href="exception_safety_guarantees.html#boost_optional.exception_safety_guarantees.swap">Swap</a>
     </h4>
 <p>
@@ -130,11 +130,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="a_note_about_optional_bool_.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="type_requirements.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="a_note_about_optional_bool_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="type_requirements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/implementation_notes.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/implementation_notes.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/implementation_notes.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -11,17 +11,17 @@
     and Portability">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="type_requirements.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="dependencies_and_portability.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="type_requirements.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="dependencies_and_portability.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -42,11 +42,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="type_requirements.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="dependencies_and_portability.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="type_requirements.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="dependencies_and_portability.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/in_place_factories.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/in_place_factories.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/in_place_factories.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -12,17 +12,17 @@
     optional&lt;bool&gt;">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="rebinding_semantics_for_assignment_of_optional_references.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="a_note_about_optional_bool_.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="a_note_about_optional_bool_.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -190,11 +190,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="rebinding_semantics_for_assignment_of_optional_references.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="a_note_about_optional_bool_.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="a_note_about_optional_bool_.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/optional_references.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/optional_references.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/optional_references.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -11,17 +11,17 @@
     semantics for assignment of optional references">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="examples.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="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="examples.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -72,11 +72,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="examples.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="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="examples.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/rebinding_semantics_for_assignment_of_optional_references.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/rebinding_semantics_for_assignment_of_optional_references.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/rebinding_semantics_for_assignment_of_optional_references.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -11,17 +11,17 @@
 <link rel="next" href="in_place_factories.html" title="In-Place Factories">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="optional_references.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="in_place_factories.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="optional_references.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="in_place_factories.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -75,7 +75,7 @@
 <span class="identifier">assert</span><span class="special">(</span><span class="identifier">b</span><span class="special">==</span><span class="number">3</span><span class="special">);</span>
 </pre>
 <a name="boost_optional.rebinding_semantics_for_assignment_of_optional_references.rationale"></a><h4>
-<a name="id2639932"></a>
+<a name="id2640074"></a>
       <a href="rebinding_semantics_for_assignment_of_optional_references.html#boost_optional.rebinding_semantics_for_assignment_of_optional_references.rationale">Rationale</a>
     </h4>
 <p>
@@ -141,11 +141,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="optional_references.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="in_place_factories.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="optional_references.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="in_place_factories.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/synopsis.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/synopsis.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/synopsis.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -10,17 +10,17 @@
 <link rel="next" href="detailed_semantics.html" title="Detailed Semantics">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="development.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="detailed_semantics.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="development.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="detailed_semantics.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -137,11 +137,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="development.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="detailed_semantics.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="development.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="detailed_semantics.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/fix-links/libs/optional/doc/html/boost_optional/type_requirements.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/boost_optional/type_requirements.html (original)
+++ branches/fix-links/libs/optional/doc/html/boost_optional/type_requirements.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -11,17 +11,17 @@
 <link rel="next" href="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 C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="exception_safety_guarantees.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="implementation_notes.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="exception_safety_guarantees.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_notes.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -40,11 +40,15 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><small>Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</small></td>
+<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="exception_safety_guarantees.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="implementation_notes.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="exception_safety_guarantees.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_notes.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/1.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/10.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/11.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/12.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/13.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/14.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/15.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/2.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/3.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/4.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/5.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/6.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/7.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/8.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/callouts/9.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/caution.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/home.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/important.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/next.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/note.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/prev.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/tip.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/up.png
==============================================================================
Binary file. No diff available.

Deleted: branches/fix-links/libs/optional/doc/html/images/warning.png
==============================================================================
Binary file. No diff available.

Modified: branches/fix-links/libs/optional/doc/html/index.html
==============================================================================
--- branches/fix-links/libs/optional/doc/html/index.html (original)
+++ branches/fix-links/libs/optional/doc/html/index.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -8,16 +8,16 @@
 <link rel="next" href="boost_optional/development.html" title="Development">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</table>
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
 <hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_optional/development.html"><img src="images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="boost_optional/development.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
 <div class="chapter" lang="en">
 <div class="titlepage"><div>
 <div><h2 class="title">
@@ -27,7 +27,7 @@
 </h3></div></div>
 <div><p class="copyright">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</p></div>
 <div><div class="legalnotice">
-<a name="id2604804"></a><p>
+<a name="id2604939"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -38,9 +38,24 @@
 <dl>
 <dt><span class="section">Motivation</span></dt>
 <dt><span class="section">Development</span></dt>
+<dd><dl>
+<dt><span class="section">The models</span></dt>
+<dt><span class="section">The semantics</span></dt>
+<dt><span class="section">The Interface</span></dt>
+</dl></dd>
 <dt><span class="section">Synopsis</span></dt>
 <dt><span class="section">Detailed Semantics</span></dt>
 <dt><span class="section">Examples</span></dt>
+<dd><dl>
+<dt><span class="section"><a href="boost_optional/examples.html#boost_optional.examples.optional_return_values">Optional
+ return values</a></span></dt>
+<dt><span class="section"><a href="boost_optional/examples.html#boost_optional.examples.optional_local_variables">Optional
+ local variables</a></span></dt>
+<dt><span class="section"><a href="boost_optional/examples.html#boost_optional.examples.optional_data_members">Optional
+ data members</a></span></dt>
+<dt><span class="section"><a href="boost_optional/examples.html#boost_optional.examples.bypassing_expensive_unnecessary_default_construction">Bypassing
+ expensive unnecessary default construction</a></span></dt>
+</dl></dd>
 <dt><span class="section">Optional references</span></dt>
 <dt><span class="section"><a href="boost_optional/rebinding_semantics_for_assignment_of_optional_references.html">Rebinding
     semantics for assignment of optional references</a></span></dt>
@@ -159,10 +174,10 @@
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><small><p>Last revised: May 29, 2007 at 06:31:03 GMT</p></small></td>
-<td align="right"><small></small></td>
+<td align="left"><p><small>Last revised: February 12, 2008 at 22:47:14 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_optional/development.html"><img src="images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="boost_optional/development.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
 </body>
 </html>

Deleted: branches/fix-links/libs/optional/doc/optional.html
==============================================================================
--- branches/fix-links/libs/optional/doc/optional.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
+++ (empty file)
@@ -1,1803 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//SoftQuad Software//DTD HoTMetaL PRO 5.0::19981217::extensions to HTML 4.0//EN" "hmpro5.dtd">
-
-<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">
-<LINK REL="stylesheet" TYPE="text/css" HREF="../../../boost.css">
-<TITLE>Header </TITLE>
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080">
-<H2><IMG SRC="../../../boost.png" WIDTH="276" HEIGHT="86">Header &lt;<A
-HREF="../../../boost/optional/optional.hpp">boost/optional/optional.hpp</A>&gt; </H2>
-
-<H2>Contents</H2>
-<DL CLASS="page-index">
- <DT>Motivation</DT>
- <DT>Development</DT>
- <DT>Synopsis</DT>
- <DT>Semantics</DT>
- <DT>Examples</DT>
- <DT>Optional references</DT>
- <DT>Rebinding semantics for assignment of optional references</DT>
- <DT>none_t and none</DT>
- <DT>In-Place Factories</DT>
- <DT>A note about optional<bool></DT>
- <DT>Exception Safety Guarantees</DT>
- <DT>Type requirements</DT>
- <DT>Implementation Notes</DT>
- <DT>Dependencies and Portability</DT>
- <DT>Acknowledgment</DT>
-</DL>
-
-<HR>
-
-<H2><A NAME="mot"></A>Motivation</H2>
-
-<P>Consider these functions which should return a value but which might not have
- a value to return:</P>
-<pre>(A) double sqrt(double n );
-(B) char get_async_input();
-(C) point polygon::get_any_point_effectively_inside();</pre>
-<P>There are different approaches to the issue of not having a value to return.</P>
-<P>A typical approach is to consider the existence of a valid return value as
- a postcondition, so that if the function cannot compute the value to return,
- it has either undefined behavior (and can use assert in a debug build)
- or uses a runtime check and throws an exception if the postcondition is violated.
- This is a reasonable choice for example, for function (A), because the
- lack of a proper return value is directly related to an invalid parameter (out
- of domain argument), so it is appropriate to require the callee to supply only
- parameters in a valid domain for execution to continue normally.</P>
-<P>However, function (B), because of its asynchronous nature, does not fail just
- because it can't find a value to return; so it is incorrect to consider
- such a situation an error and assert or throw an exception. This function must
- return, and somehow, must tell the callee that it is not returning a meaningful
- value.</P>
-<P>A similar situation occurs with function (C): it is conceptually an error to
- ask a <i>null-area</i> polygon to return a point inside itself, but in many
- applications, it is just impractical for performance reasons to treat this as
- an error (because detecting that the polygon has no area might be too expensive
- to be required to be tested previously), and either an arbitrary point (typically
- at infinity) is returned, or some efficient way to tell the callee that there
- is no such point is used.</P>
-<P>There are various mechanisms to let functions communicate that the returned
- value is not valid. One such mechanism, which is quite common since it has zero
- or negligible overhead, is to use a special value which is reserved to communicate
- this. Classical examples of such special values are EOF, string::npos, points
- at infinity, etc...</P>
-<P>When those values exist, i.e. the return type can hold all meaningful values
- <i>plus</i> the <i>signal</i> value, this mechanism is quite appropriate and
- well known. Unfortunately, there are cases when such values do not exist. In
- these cases, the usual alternative is either to use a wider type, such as 'int'
- in place of 'char'; or a compound type, such as std::pair&lt;point,bool&gt;.
-</P>
-<P>Returning a std::pair&lt;T,bool&gt;, thus attaching a boolean flag to the result
- which indicates if the result is meaningful, has the advantage that can be turned
- into a consistent idiom since the first element of the pair can be whatever
- the function would conceptually return. For example, the last two functions
- could have the following interface:</P>
-<pre>std::pair&lt;char,bool&gt; get_async_input();
-std::pair&lt;point,bool&gt; polygon::get_any_point_effectively_inside();</pre>
-<p>These functions use a consistent interface for dealing with possibly inexistent
- results:</p>
-<pre>std::pair&lt;point,bool&gt; p = poly.get_any_point_effectively_inside();
-if ( p.second )
- flood_fill(p.first);
-</pre>
-
-<P>However, not only is this quite a burden syntactically, it is also error
- prone since the user can easily use the function result (first element of the
- pair) without ever checking if it has a valid value.</P>
-<P>Clearly, we need a better idiom.</P>
-
-<H2><A NAME="dev"></A>Development</H2>
-
-<h3><u>The models:</u></h3>
-<P>In C++, we can <i>declare</i> an object (a variable) of type T, and we can give this variable
- an <i>initial value</i> (through an <i>initializer</i>. (c.f. 8.5)).<br>
- When a declaration includes a non-empty initializer (an initial value is given), it is said that
- the object has been <i><b>initialized</b></i>.<br>
- If the declaration uses an empty initializer (no initial value is given),
- and neither default nor value initialization applies, it is said that the object is
- <i><b>uninitialized</b></i>. Its actual value exist but has an
- <i>indeterminate initial value</i> (c.f. 8.5.9).<br>
- <code>optional&lt;T&gt;</code> intends to formalize the notion of initialization
-(or lack of it)
- allowing a program to test whether an object has been initialized and stating that access to
- the value of an uninitialized object is undefined behavior. That is,
- when a variable is declared as optional&lt;T&gt; and no initial value is given,
- the variable is <i>formally</i> uninitialized. A formally uninitialized optional object has conceptually
- no value at all and this situation can be tested at runtime. It is formally <i>
-undefined behavior</i>
- to try to access the value of an uninitialized optional. An uninitialized optional can be <i>assigned</i> a value, in which case its initialization state changes to initialized. Furthermore, given the formal
- treatment of initialization states in optional objects, it is even possible to reset an optional to <i>uninitialized</i>.</P>
-<P>In C++ there is no formal notion of uninitialized objects, which
- means that objects always have an initial value even if indeterminate.<br>
- As discussed on the previous section, this has a drawback because you need additional
- information to tell if an object has been effectively initialized.<br>
- One of the typical ways in which this has been historically
- dealt with is via a special value: EOF,npos,-1, etc... This is equivalent to adding
- the special value to the set of possible values of a given type. This super set of
- T plus some <i>nil_t</i>&mdash;were nil_t is some stateless POD-can be modeled in modern
- languages as a <b>discriminated union</b> of <code>T</code> and <code>nil_t</code>.
- Discriminated unions are often called <i>variants</i>. A variant has a <i>current type</i>,
- which in our case is either <code>T</code> or <code>nil_t</code>.<br>
- Using the Boost.Variant library, this model can be implemented
- in terms of <code>boost::variant&lt;T,nil_t&gt;</code>.<br>
- There is precedent for a discriminated union as a model for an optional value: the
- Haskell <b>Maybe</b> built-in type constructor.
-Thus, a discriminated union <code>T+nil_t</code> serves as a conceptual foundation.</p>
-<p>A <code>variant&lt;T,nil_t&gt;</code> follows naturally from the traditional idiom of extending
-the range of possible values adding an additional sentinel value with the special meaning of <i>Nothing. </i>
-However, this additional <i>Nothing</i> value is largely irrelevant for our purpose
- since our goal is to formalize the notion of uninitialized objects and, while a special extended value <i>can</i> be used to convey that meaning, it is not strictly
-necessary in order to do so.</p>
-<p>The observation made in the last paragraph about the irrelevant nature of the additional <code>nil_t</code> with respect to
-<u>purpose</u> of optional&lt;T&gt; suggests
-an alternative model: a <i>container</i> that either has a value of T or nothing.
-</p>
-<p>As of this writing I don't know of any precedent for a variable-size fixed-capacity (of 1)
-stack-based container model for optional values, yet I believe this is the consequence of
-the lack of practical implementations of such a container rather than an inherent shortcoming
-of the container model.</p>
-<p>In any event, both the discriminated-union or the single-element container models serve as a conceptual
-ground for a class representing optional&mdash;i.e. possibly uninitialized&mdash;objects.<br>
-For instance, these models show the <i>exact</i> semantics required for a wrapper of optional values:</p>
-<p>Discriminated-union:</p>
-<blockquote>
-<li><b>deep-copy</b> semantics: copies of the variant implies copies of the value.</li>
-<li><b>deep-relational</b> semantics: comparisons between variants matches both current types and values</li>
-<li>If the variant's current type is T, it is modeling an <i>initialized</i> optional.</li>
-<li>If the variant's current type is not T, it is modeling an <i>uninitialized</i> optional.</li>
-<li>Testing if the variant's current type is T models testing if the optional is initialized</li>
-<li>Trying to extract a T from a variant when its current type is not T, models the undefined
-behavior
-of trying to access the value of an uninitialized optional</li>
-</blockquote>
-<p>Single-element container:</p>
-<blockquote>
-<li><b>deep-copy</b> semantics: copies of the container implies copies of the value.</li>
-<li><b>deep-relational</b> semantics: comparisons between containers compare container size and if match, contained value</li>
-<li>If the container is not empty (contains an object of type T), it is modeling an <i>initialized</i> optional.</li>
-<li>If the container is empty, it is modeling an <i>uninitialized</i> optional.</li>
-<li>Testing if the container is empty models testing if the optional is initialized</li>
-<li>Trying to extract a T from an empty container models the undefined behavior
-of trying to access the value of an uninitialized optional</li>
-</blockquote>
-
-<h3><u>The semantics:</u></h3>
-<p>Objects of type <code>optional&lt;T&gt;</code> are intended to be used in places where objects of type T would
-but which might be uninitialized. Hence, <code>optional&lt;T&gt;</code>'s purpose is to formalize the
-additional possibly uninitialized state.<br>
-From the perspective of this role, <code>optional&lt;T&gt;</code> can have the same operational semantics of T
-plus the additional semantics corresponding to this special state.<br>
-As such, <code>optional&lt;T&gt;</code> could be thought of as a <i>supertype</i> of T. Of course,
-we can't do that in C++, so we need to compose the desired semantics using a different mechanism.<br>
-Doing it the other way around, that is, making <code>optional&lt;T&gt;</code> a <i>subtype</i> of T is not only
-conceptually wrong but also impractical: it is not allowed to derive from a non-class type, such as a
-built-in type.</p>
-
-<p>We can draw from the purpose of optional&lt;T&gt; the required basic semantics:</p>
-
-<blockquote>
-<p><b>Default Construction:</b> To introduce a formally uninitialized wrapped
-object.</p>
-
-<p><b>Direct Value Construction via copy:</b> To introduce a formally
-initialized wrapped object whose value is obtained as a copy of some object.</p>
-
-<p><b>Deep Copy Construction:</b> To obtain a new yet equivalent wrapped
-object.</p>
-
-<p><b>Direct Value Assignment (upon initialized):</b> To assign a value to the wrapped object.</p>
-
-<p><b>Direct Value Assignment (upon uninitialized):</b> To initialize the wrapped object
-with a value obtained
-as a copy of some object.</p>
-
-<p><b>Assignment (upon initialized):</b> To assign to the wrapped object the value
-of another wrapped object.</p>
-
-<p><b>Assignment (upon uninitialized):</b> To initialize the wrapped object
-with value of another wrapped object.</p>
-
-<p><b>Deep Relational Operations (when supported by the type T):</b> To compare
-wrapped object values taking into account the presence of uninitialized
-states.</p>
-
-<p><b>Value access:</b> To unwrap the wrapped object.</p>
-
-<p><b>Initialization state query:</b> To determine if the object is formally
-initialized or not.</p>
-
-<p><b>Swap:</b> To exchange wrapped objects. (with whatever exception safety
-guarantees are provided by T's swap).</p>
-
-<p><b>De-initialization:</b> To release the wrapped object (if any) and leave
-the wrapper in the uninitialized state.</p>
-
-</blockquote>
-
-<p>Additional operations are useful, such as converting constructors and
-converting assignments, in-place construction and assignment, and safe value
-access via a pointer to the wrapped object or null.</p>
-<h3><u>The Interface:</u></h3>
-<p>Since the purpose of optional is to allow us to use objects with a formal
-uninitialized additional state, the interface could try to follow the interface
-of the underlying T type as much as possible. In order to choose the proper
-degree of adoption of the native T interface, the following must be noted: <br>
-Even if all the operations supported by an instance of type T are defined for
-the entire range of values for such a type, an optional&lt;T&gt; extends such a set of
-values with a new value for which most (otherwise valid) operations are not
-defined in terms of T.<br>
-Furthermore, since optional&lt;T&gt; itself is merely a T wrapper (modeling a T
-supertype), any attempt to define such operations upon uninitialized optionals
-will be totally artificial w.r.t. T.<br>
-This library chooses an interface which follows from T's interface only for
-those operations which are well defined (w.r.t the type T) even if any of the
-operands are uninitialized. These operations include: construction,
-copy-construction, assignment, swap and relational operations.<br>
-For the value access operations, which are undefined (w.r.t the type T) when the
-operand is uninitialized, a different interface is chosen (which will be
-explained next).<br>
-Also, the presence of the possibly uninitialized state requires additional
-operations not provided by T itself which are supported by a special interface.</p>
-<h3>Lexically-hinted Value Access in the presence of possibly untitialized
-optional objects: The operators * and -&gt;</h3>
-<p>A relevant feature of a pointer is that it can have a <b>null
- pointer value</b>. This is a <i>special</i> value which is used to indicate that the
- pointer is not referring to any object at all. In other words, null pointer
- values convey the notion of inexistent objects.</P>
-<P>This meaning of the null pointer value allowed pointers to became a <i>de facto</i> standard
- for handling optional objects because all you have to do to refer to a value which you
- don't really have is to use a null pointer value of the appropriate type.
- Pointers have been used for decades&mdash;from the days of C APIs to modern C++ libraries&mdash;to
- <i>refer</i> to optional (that is, possibly inexistent) objects; particularly
- as optional arguments to a function, but also quite often as optional data members.</P>
-<P>The possible presence of a null pointer value makes the operations that access the
- pointee's value possibly undefined, therefore, expressions which use dereference
- and access operators, such as: <code>( *p = 2 )</code> and <code>( p-&gt;foo())</code>,
- implicitly convey the notion of optionality, and this information is tied to
- the <i>syntax</i> of the expressions. That is, the presence of operators * and -&gt; tell by
- themselves&mdash;without any additional context&mdash;that the expression will be undefined unless
- the implied pointee actually exist.</P>
-<P>Such a <i>de facto</i> idiom for referring to optional objects can be formalized in the form of a
-concept: the OptionalPointee concept.<br>
-This concept captures the syntactic usage of operators *, -> and conversion to bool to convey
-the notion of optionality.</P>
-<P>However, pointers are good to <u>refer</u> to optional objects, but not particularly good
-to handle the optional objects in all other respects, such as initializing or moving/copying
-them. The problem resides in the shallow-copy of pointer semantics: if you need to
- effectively move or copy the object, pointers alone are not enough. The problem
- is that copies of pointers do not imply copies of pointees. For example, as
- was discussed in the motivation, pointers alone cannot be used to return optional
- objects from a function because the object must move outside from the function and
- into the caller's context.<br>
- A solution to the shallow-copy problem that is often used is to resort to dynamic
- allocation and use a smart pointer to automatically handle the details of this.
- For example, if a function is to optionally return an object X, it can use shared_ptr&lt;X&gt;
- as the return value. However, this requires dynamic allocation of X. If X is
- a built-in or small POD, this technique is very poor in terms of required resources.
- Optional objects are essentially values so it is very convenient to be able to use automatic
- storage and deep-copy semantics to manipulate optional values just as we do with ordinary
- values. Pointers do not have this semantics, so are inappropriate for the initialization and
- transport of optional values, yet are quite convenient for handling the access to the
- possible undefined value because of the idiomatic aid present in the OptionalPointee
- concept incarnated by pointers.
-</p>
-<h4>Optional&lt;T&gt; as a model of OptionalPointee</h4>
-<P>For value access operations optional&lt;&gt; uses operators * and -&gt; to lexically
-warn about the possibly uninitialized state appealing to the familiar pointer
-semantics w.r.t. to null pointers.<br>
-<u><b>However, it is particularly important to note that optional<> objects are not pointers. optional&lt;&gt;
-is not, and does not model, a pointer</b></u><b>.</b>
-<P>For instance, optional&lt;&gt; does not have shallow-copy so does not alias: two different optionals
- never refer to the <i>same</i> value unless T itself is a reference (but may have <i>equivalent</i> values).<br>
- The difference between an optional&lt;T&gt; and a pointer must be kept in mind, particularly
- because the semantics of relational operators are different: since optional&lt;T&gt;
- is a value-wrapper, relational operators are deep: they compare optional values;
- but relational operators for pointers are shallow: they do not compare pointee values.<br>
- As a result, you might be able to replace optional&lt;T&gt; by T* on some situations but
- not always. Specifically, on generic code written for both, you cannot use relational
- operators directly, and must use the template functions
- equal_pointees() and
- less_pointees() instead.
-<HR>
-
-<H2><A NAME="synopsis">Synopsis</A></H2>
-
-<PRE>namespace boost {
-
-template&lt;class T>
-class optional
-{
- public :
-
- <i><u>(If T is of reference type, the parameters and results by reference are by value)</u></i>
-
- optional () ;
-
- optional ( none_t ) ;
-
- optional ( T const&amp; v ) ;
-
- optional ( bool condition, T const&amp; v ) ; <u><i>[new in 1.34]</u></i>
-
- optional ( optional const&amp; rhs ) ;
-
- template&lt;class U&gt; explicit optional ( optional&lt;U&gt; const&amp; rhs ) ;
-
- template&lt;InPlaceFactory&gt; explicit optional ( InPlaceFactory const&amp; f ) ;
-
- template&lt;TypedInPlaceFactory&gt; explicit optional ( TypedInPlaceFactory const&amp; f ) ;
-
- optional&amp; operator = ( none_t ) ;
-
- optional&amp; operator = ( T const&amp; v ) ;
-
- optional&amp; operator = ( optional const&amp; rhs ) ;
-
- template&lt;class U&gt; optional&amp; operator = ( optional&lt;U&gt; const&amp rhs ) ;
-
- template&lt;InPlaceFactory&gt; optional&amp; operator = ( InPlaceFactory const&amp f ) ;
-
- template&lt;TypedInPlaceFactory&gt; optional&amp; operator = ( TypedInPlaceFactory const&amp f ) ;
-
- T const& get() const ;
- T& get() ;
-
- T const&amp; get_value_or( T const&amp; default ) const ; <u><i>[new in 1.34]</u></i>
-
- T const* operator -&gt;() const ;
- T* operator -&gt;() ;
-
- T const&amp; operator *() const ;
- T&amp; operator *() ;
-
- T const* get_ptr() const ;
- T* get_ptr() ;
-
- operator <i>unspecified-bool-type</i>() const ;
-
- bool operator!() const ;
-
- <i><u>deprecated methods</u></i>
-
- void reset() ; (deprecated)
- void reset ( T const&amp; ) ; (deprecated)
- bool is_initialized() const ; (deprecated)
-
-} ;
-
-template&lt;class T&gt; inline bool operator == ( optional&lt;T&gt; const& x, optional&lt;T&gt; const& y ) ;
-
-template&lt;class T&gt; inline bool operator != ( optional&lt;T&gt; const& x, optional&lt;T&gt; const& y ) ;
-
-template&lt;class T&gt; inline bool operator < ( optional&lt;T&gt; const& x, optional&lt;T&gt; const& y ) ;
-
-template&lt;class T&gt; inline bool operator > ( optional&lt;T&gt; const& x, optional&lt;T&gt; const& y ) ;
-
-template&lt;class T&gt; inline bool operator <= ( optional&lt;T&gt; const& x, optional&lt;T&gt; const& y ) ;
-
-template&lt;class T&gt; inline bool operator >= ( optional&lt;T&gt; const& x, optional&lt;T&gt; const& y ) ;
-
-template&lt;class T&gt; inline bool operator == ( optional&lt;T&gt; const& x, T const& n ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator != ( optional&lt;T&gt; const& x, T const& n ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator < ( optional&lt;T&gt; const& x, T const& n ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator > ( optional&lt;T&gt; const& x, T const& n ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator <= ( optional&lt;T&gt; const& x, T const& n ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator >= ( optional&lt;T&gt; const& x, T const& n ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator == ( T const& n, optional&lt;T&gt; const& y ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator != ( T const& n, optional&lt;T&gt; const& y ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator < ( T const& n, optional&lt;T&gt; const& y ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator > ( T const& n, optional&lt;T&gt; const& y ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator <= ( T const& n, optional&lt;T&gt; const& y ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator >= ( T const& n, optional&lt;T&gt; const& y ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator == ( optional&lt;T&gt; const& x, none_t n ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator != ( optional&lt;T&gt; const& x, none_t n ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator < ( optional&lt;T&gt; const& x, none_t n ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator > ( optional&lt;T&gt; const& x, none_t n ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator <= ( optional&lt;T&gt; const& x, none_t n ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator >= ( optional&lt;T&gt; const& x, none_t n ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator == ( none_t n, optional&lt;T&gt; const& y ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator != ( none_t n, optional&lt;T&gt; const& y ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator < ( none_t n, optional&lt;T&gt; const& y ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator > ( none_t n, optional&lt;T&gt; const& y ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator <= ( none_t n, optional&lt;T&gt; const& y ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline bool operator >= ( none_t n, optional&lt;T&gt; const& y ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline optional&lt;T&gt; make_optional ( T const& v ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline optional&lt;T&gt; make_optional ( bool condition, T const& v ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline T const&amp; get_optional_value_or ( optional&lt;T&gt; const& opt, T const& default ) ; <u><i>[new in 1.34]</u></i>
-
-template&lt;class T&gt; inline T const& get ( optional&lt;T&gt; const& opt ) ;
-
-template&lt;class T&gt; inline T& get ( optional&lt;T&gt; & opt ) ;
-
-template&lt;class T&gt; inline T const* get ( optional&lt;T&gt; const* opt ) ;
-
-template&lt;class T&gt; inline T* get ( optional&lt;T&gt;* opt ) ;
-
-template&lt;class T&gt; inline T const* get_pointer ( optional&lt;T&gt; const& opt ) ;
-
-template&lt;class T&gt; inline T* get_pointer ( optional&lt;T&gt; & opt ) ;
-
-template&lt;class T&gt; inline void swap( optional&lt;T&gt;& x, optional&lt;T&gt;&amp; y ) ;
-
-} // namespace boost
-</PRE>
-
-<HR>
-
-<h2><A NAME="semantics">Detailed Semantics</a></h2>
-
-<p><b><u>NOTES: </u></b></p>
-
-<p><b>Because T might be of reference type, in the sequel, those entries whose
-semantic depends on T being of reference type or not will be distinguished using
-the following convention:<br>
-If the entry reads: optional&lt;T (not a ref)&gt;, the description corresponds only to
-the case where T is not of reference type.<br>
-If the entry reads: optional&lt;T&amp;&gt;, the description corresponds only to the case
-where T is of reference type. <br>
-If the entry reads: optional&lt;T&gt;, the description is the same for both cases.</b></p>
-
-<p><i>The following section contains various assert() which are used only to
-show the postconditions as sample code. It is not implied that the type T must
-support each particular expression but that if the expression is supported, the
-implied condition holds.</i></p>
-
-<hr>
-
-<pre>optional&lt;T&gt;::optional();</pre>
-<blockquote>
-<p><b>Effect:</b> Default-Constructs an <b>optional</b>.</p>
-<p><b>Postconditions:</b> <b>*this</b> is <u>uninitialized</u>.</p>
-<p><b>Throws:</b> Nothing.</p>
-<p><b>Notes:</b> T's default constructor <u><i>is not</i></u> called.</p>
-<p><b>Example:</b></p>
- <blockquote>
- <pre>optional&lt;T&gt; def ;
-assert ( !def ) ;</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>optional&lt;T&gt;::optional( none_t );</pre>
-<blockquote>
-<p><b>Effect:</b> Constructs an <b>optional</b> uninitialized.</p>
-<p><b>Postconditions:</b> <b>*this</b> is <u>uninitialized</u>.</p>
-<p><b>Throws:</b> Nothing.</p>
-<p><b>Notes:</b></p>
-<blockquote>
-<p>T's default constructor <u><i>is not</i></u> called.<br>
-The
-expression <code>boost::none</code> denotes an instance of <code>boost::none_t</code> that can be
-used as the parameter.</p>
-</blockquote>
-<p><b>Example:</b></p>
- <blockquote>
-<pre>
-#include &lt;boost/none.hpp&gt;
-optional&lt;int&gt; n(boost::none) ;
-assert ( !n ) ;
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>optional&lt;T <i>(not a ref)</i>&gt;::optional( T const&amp; v )</pre>
-<blockquote>
-<p><b>Effect:</b> Directly-Constructs an <b>optional</b>.</p>
-<p><b>Postconditions:</b> <b>*this</b> is <u>initialized</u> and its value is a <i>copy</i> of 'v'.</p>
-<p><b>Throws:</b> Whatever T::T( T const&amp; ) throws.</p>
-<p><b>Notes: </b> T::T( T const&amp; ) is called.</p>
-<p><b>Exception Safety:</b> Exceptions can only be thrown during T::T( T const&amp; );
-in that case, this constructor has no effect.
-</p>
-<p><b>Example:</b></p>
-<blockquote>
-<pre>
-T v;
-optional&lt;T&gt; opt(v);
-assert ( *opt == v ) ;
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>optional&lt;T&amp;&gt;::optional( T&amp; ref )</pre>
-<blockquote>
-<p><b>Effect:</b> Directly-Constructs an <b>optional</b>.</p>
-<p><b>Postconditions:</b> <b>*this</b> is <u>initialized</u> and its value is an
-instance of an internal type wrapping the reference 'ref'.</p>
-<p><b>Throws:</b> Nothing.</p>
-<p><b>Example:</b></p>
-<blockquote>
-<pre>
-T v;
-T&amp; vref = v ;
-optional&lt;T&amp;&gt; opt(vref);
-assert ( *opt == v ) ;
-++ v ; // mutate referee
-assert (*opt == v);
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>optional&lt;T <i>(not a ref)</i>&gt;::optional( bool condition, T const&amp; v ) ;
-optional&lt;T&amp;&gt; ::optional( bool condition, T&amp; v ) ;
-</pre>
-
-<blockquote>
-<p>If <i>condition</i> is <code>true</code>, same as:</p>
-<pre>optional&lt;T <i>(not a ref)</i>&gt;::optional( T const&amp; v )
-optional&lt;T&amp;&gt; ::optional( T&amp; v )
-</pre>
-<p>otherwise, same as:</p>
-<pre>
-optional&lt;T <i>(not a ref)</i>&gt;::optional()
-optional&lt;T&amp;&gt; ::optional()
-</pre>
-</blockquote>
-
-<HR>
-
-<pre>optional&lt;T <i>(not a ref)</i>&gt;::optional( optional const&amp; rhs );</pre>
-<blockquote>
-<p><b>Effect:</b> Copy-Constructs an <b>optional</b>.</p>
-<p><b>Postconditions:</b> If <b>rhs</b> is initialized, <b>*this</b> is initialized
-and its value is a <i>copy</i> of the value of <b>rhs</b>; else <b>*this</b>
-is uninitialized.</p>
-<p><b>Throws:</b> Whatever T::T( T const& ) throws.</p>
-<p><b>Notes:</b> If <b>rhs</b> is initialized, T::T(T const&amp; ) is called.</p>
-<p><b>Exception Safety:</b> Exceptions can only be thrown during T::T( T const& );
-in that case, this constructor has no effect.
-</p>
-<p><b>Example:</b></p>
-<blockquote>
-<pre>
-optional&lt;T&gt; uninit ;
-assert (!uninit);
-
-optional&lt;T&gt; uinit2 ( uninit ) ;
-assert ( uninit2 == uninit );
-
-optional&lt;T&gt; init( T(2) );
-assert ( *init == T(2) ) ;
-
-optional&lt;T&gt; init2 ( init ) ;
-assert ( init2 == init ) ;
-</pre>
-
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>optional&lt;T&amp;&gt;::optional( optional const&amp; rhs );</pre>
-<blockquote>
-<p><b>Effect:</b> Copy-Constructs an <b>optional</b>.</p>
-<p><b>Postconditions:</b> If <b>rhs</b> is initialized, <b>*this</b> is initialized
-and its value is another reference to the same object referenced by <b>*rhs</b>; else <b>*this</b>
-is uninitialized.</p>
-<p><b>Throws:</b> Nothing.</p>
-<p><b>Notes:</b> If <b>rhs</b> is initialized, both <b>*this</b> and <b>*rhs</b> will
-reefer to the same object<b> </b>(they alias).</p>
-<p><b>Example:</b></p>
-<blockquote>
-<pre>
-optional&lt;T&amp;&gt; uninit ;
-assert (!uninit);
-
-optional&lt;T&amp;&gt; uinit2 ( uninit ) ;
-assert ( uninit2 == uninit );
-
-T v = 2 ; T&amp; ref = v ;
-optional&lt;T&gt; init(ref);
-assert ( *init == v ) ;
-
-optional&lt;T&gt; init2 ( init ) ;
-assert ( *init2 == v ) ;
-
-v = 3 ;
-
-assert ( *init == 3 ) ;
-assert ( *init2 == 3 ) ;
-
-
-</pre>
-
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>template&lt;U&gt; explicit optional&lt;T <i>(not a ref)</i>&gt;::optional( optional&lt;U&gt; const&amp; rhs );</pre>
-<blockquote>
-<p><b>Effect:</b> Copy-Constructs an <b>optional</b>.</p>
-<p><b>Postconditions:</b> If <b>rhs</b> is initialized, <b>*this</b> is initialized
- and its value is a <i>copy</i> of the value of <b>rhs</b> <i>converted</i>
- to type T; else <b>*this</b> is uninitialized.
-</p>
-<p><b>Throws:</b> Whatever T::T( U const& ) throws.</p>
-<p><b>Notes:</b> T::T( U const& ) is called if <b>rhs</b> is initialized, which requires
-a valid conversion from U to T.
-</p>
-<p><b>Exception Safety:</b> Exceptions can only be thrown during T::T( U const& );
-in that case, this constructor has no effect.
-</p>
-<p><b>Example:</b></p>
-<blockquote>
-
-<pre>
-optional&lt;double&gt; x(123.4);
-assert ( *x == 123.4 ) ;
-
-optional&lt;int&gt; y(x) ;
-assert( *y == 123 ) ;
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>template&lt;<i>InPlaceFactory</i>&gt; explicit optional&lt;T <i>(not a ref)</i>&gt;::optional( <i>InPlaceFactory</i> const&amp; f );</pre>
-
-<pre>template&lt;<i>TypedInPlaceFactory</i>&gt; explicit optional&lt;T <i>(not a ref)</i>&gt;::optional( <i>TypedInPlaceFactory</i> const&amp; f );</pre>
-<blockquote>
-<p><b>Effect:</b> Constructs an <b>optional</b> with a value of T obtained from
-the factory.</p>
-<p><b>Postconditions:</b>&nbsp; <b>*this</b> is <u>initialized</u> and its value is
-<i>directly given</i> from the factory 'f' (i.e., the value<u> is not copied</u>).</p>
-<p><b>Throws:</b> Whatever the T constructor called by the factory throws.</p>
-<p><b>Notes:</b> See In-Place Factories</p>
-<p><b>Exception Safety:</b> Exceptions can only be thrown during the call to the
-T constructor used by the factory;
-in that case, this constructor has no effect.
-</p>
-<p><b>Example:</b></p>
-<blockquote>
-
-<pre>
-class C { C ( char, double, std::string ) ; } ;
-
-C v('A',123.4,&quot;hello&quot;);
-
-optional&lt;C&gt; x( in_place ('A', 123.4, &quot;hello&quot;) ); // InPlaceFactory used
-optional&lt;C&gt; y( in_place&lt;C&gt;('A', 123.4, &quot;hello&quot;) ); // TypedInPlaceFactory used
-
-assert ( *x == v ) ;
-assert ( *y == v ) ;
-
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>optional&amp; optional&lt;T</i>&gt;::operator= ( none_t n ) ;</pre>
-<blockquote>
-<p><b>Effect:</b> Same as opeator=(optional const&amp; rhs), when rhs is default-constructed (uninitialized).</p>
-<p><b>Postconditions:</b> <b>*this</b> is uninitialized</p>
-<p><b>Example:</b></p>
-<blockquote>
-<pre>
-#include &lt;boost/none.hpp&gt;
-
-optional&lt;int&gt; def ;
-optional&lt;int&gt; opt(123) ;
-
-opt = boost::none ;
-
-assert ( opt == def ) ;
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>optional&amp; optional&lt;T <i>(not a ref)</i>&gt;::operator= ( T const&amp; rhs ) ;</pre>
-<blockquote>
-<p><b>Effect:</b> Assigns the value 'rhs' to an <b>optional</b>.</p>
-<p><b>Postconditions:</b> <b>*this</b> is initialized
-and its value is a <i>copy</i> of <b>rhs.</b></p>
-<p><b>Throws:</b> Whatever T::operator=( T const& ) or T::T(T const&amp;) throws.</p>
-<p><b>Notes:</b> If <b>*this</b> was initialized, T's assignment operator is
-used, otherwise, its copy-constructor is used.</p>
-<p><b>Exception Safety:</b> In the event of an exception, the initialization
-state of <b>*this</b> is unchanged and its value unspecified as far as optional
-is concerned (it is up to T's operator=()) [If <b>*this</b> is initially
-uninitialized and T's <i>copy constructor</i> fails, <b>*this</b> is left
-properly uninitialized]</p>
-<p><b>Example:</b></p>
-<blockquote>
-<pre>
-T x;
-optional&lt;T&gt; def ;
-optional&lt;T&gt; opt(x) ;
-
-T y;
-def = y ;
-assert ( *def == y ) ;
-opt = y ;
-assert ( *opt == y ) ;</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>optional&lt;T&amp;&gt;&amp; optional&lt;T&amp;&gt;::operator= ( T&amp; const&amp; rhs ) ;</pre>
-<blockquote>
-<p><b>Effect:</b> (Re)binds thee wrapped reference.</p>
-<p><b>Postconditions:</b> <b>*this</b> is initialized
-and it references the same object referenced by <b>rhs.</b></p>
-<p><b>Notes:</b> If <b>*this</b> was initialized, is is <i>rebound</i> to the
-new object. See here for details on this behavior.</p>
-<p><b>Example:</b></p>
-<blockquote>
-<pre>
-int a = 1 ;
-int b = 2 ;
-T&amp; ra = a ;
-T&amp; rb = b ;
-optional&lt;int&amp;&gt; def ;
-optional&lt;int&amp;&gt; opt(ra) ;
-
-def = rb ; // binds 'def' to 'b' through 'rb'
-assert ( *def == b ) ;
-*def = a ; // changes the value of 'b' to a copy of the value of 'a'
-assert ( b == a ) ;
-int c = 3;
-int&amp; rc = c ;
-opt = rc ; // REBINDS to 'c' through 'rc'
-c = 4 ;
-assert ( *opt == 4 ) ;
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>optional&amp; optional&lt;T <i>(not a ref)</i>&gt;::operator= ( optional const&amp; rhs ) ;</pre>
-<blockquote>
-<p><b>Effect:</b> Assigns another <b>optional</b> to an <b>optional</b>.</p>
-<p><b>Postconditions:</b> If <b>rhs</b> is initialized, <b>*this</b> is initialized
-and its value is a <i>copy</i> of the value of <b>rhs</b>; else <b>*this</b>
-is uninitialized.
-</p>
-<p><b>Throws:</b> Whatever T::operator( T const&amp;) or&nbsp; T::T( T const& ) throws.</p>
-<p><b>Notes:</b> If both<b> *this</b> and <b>rhs</b> are initially initialized,
-T's <i>assignment</i> <i>operator</i> is used. If <b>*this</b> is initially initialized but <b>
-rhs</b> is uninitialized, T's <i>destructor</i> is called. If <b>*this</b> is initially
-uninitialized but rhs is initialized, T's <i>copy constructor</i> is called.
-</p>
-<p><b>Exception Safety:</b> In the event of an exception, the initialization
-state of <b>*this</b> is unchanged and its value unspecified as far as optional
-is concerned (it is up to T's operator=()) [If <b>*this</b> is initially
-uninitialized and T's <i>copy constructor</i> fails, <b>*this</b> is left
-properly uninitialized]</p>
-<p><b>Example:</b></p>
-<blockquote>
- <pre>T v;
-optional&lt;T&gt; opt(v);
-optional&lt;T&gt; def ;
-
-opt = def ;
-assert ( !def ) ;
-// previous value (copy of 'v') destroyed from within 'opt'.
-
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>optional&lt;T&amp;&gt; &amp; optional&lt;T&amp;&gt;::operator= ( optional&lt;T&amp;&gt; const&amp; rhs ) ;</pre>
-<blockquote>
-<p><b>Effect:</b> (Re)binds thee wrapped reference.</p>
-<p><b>Postconditions:</b> If <b>*rhs</b> is initialized, *<b>this</b> is initialized
-and it references the same object referenced by <b>*rhs</b>; otherwise, <b>*this</b>
-is uninitialized (and references no object).</p>
-<p><b>Notes:</b> If <b>*this</b> was initialized and so is <b>*rhs</b>, <b>this</b>
-is is <i>rebound</i> to the new object. See here for details on this
-behavior.</p>
-<p><b>Example:</b></p>
-<blockquote>
- <pre>int a = 1 ;
-int b = 2 ;
-T&amp; ra = a ;
-T&amp; rb = b ;
-optional&lt;int&amp;&gt; def ;
-optional&lt;int&amp;&gt; ora(ra) ;
-optional&lt;int&amp;&gt; orb(rb) ;
-
-def = orb ; // binds 'def' to 'b' through 'rb' wrapped within 'orb'
-assert ( *def == b ) ;
-*def = ora ; // changes the value of 'b' to a copy of the value of 'a'
-assert ( b == a ) ;
-int c = 3;
-int&amp; rc = c ;
-optional&lt;int&amp;&gt; orc(rc) ;
-ora = orc ; // REBINDS ora to 'c' through 'rc'
-c = 4 ;
-assert ( *ora == 4 ) ;
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>template&lt;U&gt; optional&amp; optional&lt;T <i>(not a ref)</i>&gt;::operator= ( optional&lt;U&gt; const&amp; rhs ) ;</pre>
-<blockquote>
-<p><b>Effect:</b> Assigns another <i>convertible</i> <b>optional</b> to an <b>optional</b>.</p>
-<p><b>Postconditions:</b> If <b>rhs</b> is initialized, <b>*this</b> is initialized
-and its value is a <i>copy</i> of the value of <b>rhs</b> <i>converted</i>
-to type T; else <b>*this</b> is uninitialized.
-</p>
-<p><b>Throws:</b> Whatever T::operator=( U const&amp; ) or T::T( U const& ) throws.</p>
-<p><b>Notes:</b> If both<b> *this</b> and <b>rhs</b> are initially initialized,
-T's <i>assignment</i> <i>operator</i> (from U) is used. If <b>*this</b> is initially initialized but <b>
-rhs</b> is uninitialized, T's <i>destructor</i> is called. If <b>*this</b> is initially
-uninitialized but rhs is initialized, T's <i>converting constructor</i> (from U) is called.
-</p>
-<p><b>Exception Safety:</b> In the event of an exception, the initialization
-state of <b>*this</b> is unchanged and its value unspecified as far as optional
-is concerned (it is up to T's operator=()) [If <b>*this</b> is initially
-uninitialized and T's <i>converting constructor</i> fails, <b>*this</b> is left
-properly uninitialized]</p>
-<p><b>Example:</b></p>
-<blockquote>
- <pre>T v;
-optional&lt;T&gt; opt0(v);
-optional&lt;U&gt; opt1;
-
-opt1 = opt0 ;
-assert ( *opt1 == static_cast&lt;U&gt;(v) ) ;
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-<pre>void optional&lt;T <i>(not a ref)</i>&gt;::reset( T const&amp v ) ;</pre>
-<blockquote>
-<p><b>Deprecated:</b> same as operator= ( T const&amp; v) ;</p>
-</blockquote>
-
-<HR>
-<pre>void optional&lt;T&gt;::reset() ;</pre>
-<blockquote>
-<p><b>Deprecated: </b>Same as operator=( none_t n);</p>
-</blockquote>
-
-<HR>
-
-<pre>T const&amp; optional&lt;T <i>(not a ref)</i>&gt;::operator*() const ;
-T&amp; optional&lt;T<i> (not a ref)</i>&gt;::operator*();</pre>
-
-<pre>T const&amp; optional&lt;T <i>(not a ref)</i>&gt;::get() const ;
-T&amp; optional&lt;T <i>(not a ref)</i>&gt;::get() ;
-
-inline T const&amp; get ( optional&lt;T<i> (not a ref)</i>&gt; const&amp; ) ;
-inline T&amp; get ( optional&lt;T <i>(not a ref)</i>&gt; &amp;) ;
-</pre>
-<blockquote>
-<p><b>Requirements: *this</b> is initialized</p>
-<p><b>Returns:</b> A reference to the contained value</p>
-<p><b>Throws:</b> Nothing.</p>
-<p><b>Notes:</b> The requirement is asserted via BOOST_ASSERT().</p>
-<p><b>Example:</b></p>
-<blockquote>
- <pre>T v ;
-optional&lt;T&gt; opt ( v );
-T const&amp; u = *opt;
-assert ( u == v ) ;
-T w ;
-*opt = w ;
-assert ( *opt == w ) ;
-</pre>
- </blockquote>
- <pre></pre>
-</blockquote>
-
-<HR>
-
-
-<pre>T const&amp; optional&lt;T&amp;&gt;::operator*() const ;
-T &amp; optional&lt;T<i>&amp;</i>&gt;::operator*();</pre>
-
-<pre>T const&amp; optional&lt;T&amp;&gt;::get() const ;
-T&amp; optional&lt;T&amp;&gt;::get() ;
-
-inline T const&amp; get ( optional&lt;T<i>&amp;</i>&gt; const&amp; ) ;
-inline T&amp; get ( optional&lt;T&amp;&gt; &amp;) ;
-</pre>
-<blockquote>
-<p><b>Requirements: *this</b> is initialized</p>
-<p><b>Returns:</b> <u>The</u> reference contained.</p>
-<p><b>Throws:</b> Nothing.</p>
-<p><b>Notes:</b> The requirement is asserted via BOOST_ASSERT().</p>
-<p><b>Example:</b></p>
-<blockquote>
- <pre>T v ;
-T&amp; vref = v ;
-optional&lt;T&amp;&gt; opt ( vref );
-T const&amp; vref2 = *opt;
-assert ( vref2 == v ) ;
-++ v ;
-assert ( *opt == v ) ;</pre>
- </blockquote>
-</blockquote>
-
-<HR>
-
-<pre>T const&amp; optional&lt;T&gt;::get_value_or( T const&amp; default) const ;
-T&amp; optional&lt;T&gt;::get_value_or( T&amp; default ) ;
-
-inline T const&amp; get_optional_value_or ( optional&lt;T&gt; const&amp; o, T const&amp; default ) ;
-inline T&amp; get_optional_value_or ( optional&lt;T&gt;&amp; o, T&amp; default ) ;
-</pre>
-<blockquote>
-<p><b>Returns:</b> A reference to the contained value (which can be itself a reference), if any, or <code>default</code></p>
-<p><b>Throws:</b> Nothing.</p>
-<p><b>Example:</b></p>
-<blockquote>
- <pre>T v, z ;
-optional&lt;T&gt; def;
-T const&amp; y = def.get_value_or(z);
-assert ( y == z ) ;
-
-optional&lt;T&gt; opt ( v );
-T const&amp; u = get_optional_value_or(opt,z);
-assert ( u == v ) ;
-assert ( u != z ) ;
-</pre>
- </blockquote>
- <pre></pre>
-</blockquote>
-
-<HR>
-
-<pre>T const* optional&lt;T&gt;::get_ptr() const ;
-T* optional&lt;T&gt;::get_ptr() ;
-
-inline T const* get_pointer ( optional&lt;T&gt; const&amp; ) ;
-inline T* get_pointer ( optional&lt;T&gt; &amp;) ;
-</pre>
-<blockquote>
-<p><b>Returns:</b> If <b>*this</b> is initialized, a pointer to the contained
-value; else 0 (<i>null</i>).
-</p>
-<p><b>Throws:</b> Nothing.</p>
-<p><b>Notes:</b> If T is a reference type, the pointer is to the referenced object</p>
-<p><b>Notes:</b> The contained value is permanently stored within *this, so
-you should not hold nor delete this pointer.
-</p>
-<p><b>Example:</b></p>
-<blockquote>
- <pre>int v=123;
-optional&lt;int&gt; opt(v);
-optional&lt;int&gt; const copt(v);
-int* p = opt.get_ptr() ;
-int const* cp = copt.get_ptr();
-assert ( p == get_pointer(opt) );
-assert ( cp == get_pointer(copt) ) ;
-
-int& rv = v ;
-optional&lt;int&amp;&gt; optr(rv);
-
-*(optr.get_ptr()) = 456 ;
-
-assert ( v == 456 );
-
-
-</pre>
-</blockquote>
-</blockquote>
-
-
-<HR>
-
-
-<pre>T const* optional&lt;T&gt;::operator -&gt;() const ;
-T* optional&lt;T&gt;::operator -&gt;() ;
-</pre>
-<blockquote>
-<p><b>Requirements: *this</b> is initialized.</p>
-<p><b>Returns:</b> A pointer to the contained value.</p>
-<p><b>Throws:</b> Nothing.</p>
-<p><b>Notes:</b> If T is a reference type, the pointer is to the referenced object</p>
-<p><b>Notes:</b> The requirement is asserted via BOOST_ASSERT().</p>
-<p><b>Example:</b></p>
-<blockquote>
-<pre>struct X { int mdata ; } ;
-X x ;
-optional&lt;X&gt; opt (x);
-opt-&gt;mdata = 2 ;
-
-X& rx = x ;
-
-optional&lt;X&amp;&gt; optr (rx);
-optr-&gt;mdata = 4 ;
-
-assert ( x.mdata = 4 )
-
-</pre>
-</blockquote>
-</blockquote>
-
-
-<HR>
-
-
-<pre>optional&lt;T&gt;::operator <i>unspecified-bool-type</i>() const ;</pre>
-<blockquote>
-<p><b>Returns:</b> An unspecified value which if used on a boolean context is equivalent to (get() != 0)</p>
-<p><b>Throws:</b> Nothing.</p>
-<blockquote>
- <pre>optional&lt;T&gt; def ;
-assert ( def == 0 );
-optional&lt;T&gt; opt ( v ) ;
-assert ( opt );
-assert ( opt != 0 );
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-
-<pre> bool optional&lt;T&gt;::operator!() ;</pre>
-<blockquote>
-<p><b>Returns:</b> If <b>*this</b> is uninitialized, <code>true</code>; else <code>false.</code></p>
-<p><b>Throws:</b> Nothing.</p>
-<p><b>Notes:</b> This operator is provided for those compilers which can't use
-the <i>unspecified-bool-type</i> operator in certain boolean contexts.
-</p>
-<p><b>Example:</b></p>
-<blockquote>
- <pre>optional&lt;T&gt; opt ;
-assert ( !opt );
-*opt = some_T ;
-
-// Notice the &quot;double-bang&quot; idiom here.
-assert ( !!opt ) ;
-</pre>
-</blockquote>
-</blockquote>
-
-
-<HR>
-
-
-<pre>bool optional&lt;T&gt;::is_initialized() const ;</pre>
-<blockquote>
-<p><b>Returns:</b> <i>true</i> is the <b>optional</b> is initialized, <i>false</i>
-otherwise.</p>
-<p><b>Throws:</b> Nothing.</p>
-<blockquote>
- <pre>optional&lt;T&gt; def ;
-assert ( !def.is_initialized() );
-optional&lt;T&gt; opt ( v ) ;
-assert ( opt.is_initialized() );</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-<pre>optional&lt;T <i>(not a ref)</i>&gt; make_optional( T const&amp; v )</pre>
-<blockquote>
-<p><b>Returns:</b> optional&lt;T&gt;(v) for the <i>deduced</i> type <code>T</code> of <code>v</code>.</p>
-<p><b>Example:</b></p>
-<blockquote>
-<pre>template&lt;class T&gt; void foo ( optional&lt;T&gt; const& opt ) ;
-
-foo ( make_optional(1+1) ) ; // Creates an optional&lt;int&gt;
-</blockquote>
-</blockquote>
-<HR>
-
-<pre>optional&lt;T <i>(not a ref)</i>&gt; make_optional( bool condition, T const&amp; v )</pre>
-<blockquote>
-<p><b>Returns:</b> optional&lt;T&gt;(condition,v) for the <i>deduced</i> type <code>T</code> of <code>v</code>.</p>
-<p><b>Example:</b></p>
-<blockquote>
-<pre>optional&lt;double&gt; calculate_foo()
-{
- double val = compute_foo();
- return make_optional(is_not_nan_and_finite(val),val);
-}
-
-optional&lt;double&gt; v = calculate_foo();
-if ( !v )
- error("foo wasn't computed");
-</blockquote>
-</blockquote>
-
-<HR>
-
-
-<pre>bool operator == ( optional&lt;T&gt; const&amp x, optional&lt;T&gt const&amp y );</pre>
-<blockquote>
-<p><b>Returns:</b> If both <b>x</b> and <b>y</b> are initialied, <code>(*x == *y)</code>.
-If only x or y is initialized, <code>false</code>. If both are uninitialized, <code>true</code>. </p>
-<p><b>Throws:</b> Nothing.</p>
-<p><b>Notes:</b> Pointers have shallow relational operators while <b>optional</b> has
-deep relational operators. Do not use operator == directly in generic code
-which expect to be given either an optional&lt;T&gt; or a pointer;
-use equal_pointees() instead </p>
-<p><b>Example:</b></p>
-<blockquote>
- <pre>T x(12);
-T y(12);
-T z(21);
-optional&lt;T&gt; def0 ;
-optional&lt;T&gt; def1 ;
-optional&lt;T&gt; optX(x);
-optional&lt;T&gt; optY(y);
-optional&lt;T&gt; optZ(z);
-
-// Identity always hold
-assert ( def0 == def0 );
-assert ( optX == optX );
-
-// Both uninitialized compare equal
-assert ( def0 == def1 );
-
-// Only one initialized compare unequal.
-assert ( def0 != optX );
-
-// Both initialized compare as (*lhs == *rhs)
-assert ( optX == optY ) ;
-assert ( optX != optZ ) ;
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-
-
-<pre>bool operator &lt; ( optional&lt;T&gt; const&amp x, optional&lt;T&gt const&amp y );</pre>
-<blockquote>
-<p><b>Returns:</b> If <b>y</b> is not initialized, <code>false</code>.
-If <b>y</b> is initialized and <b>x</b> is not initialized, <code>true</code>.
-If both <b>x</b> and <b>y</b> are initialized, <code>(*x &lt; *y)</code>. </p>
-<p><b>Throws:</b> Nothing.</p>
-<p><b>Notes:</b> Pointers have shallow relational operators while <b>optional</b> has
-deep relational operators. Do not use operator &lt; directly in generic code
-which expect to be given either an optional&lt;T&gt; or a pointer;
-use less_pointees() instead </p>
-<p><b>Example:</b></p>
-<blockquote>
- <pre>T x(12);
-T y(34);
-optional&lt;T&gt; def ;
-optional&lt;T&gt; optX(x);
-optional&lt;T&gt; optY(y);
-
-// Identity always hold
-assert ( !(def &lt; def) );
-assert ( optX == optX );
-
-// Both uninitialized compare equal
-assert ( def0 == def1 );
-
-// Only one initialized compare unequal.
-assert ( def0 != optX );
-
-// Both initialized compare as (*lhs == *rhs)
-assert ( optX == optY ) ;
-assert ( optX != optZ ) ;
-</pre>
-</blockquote>
-</blockquote>
-
-<HR>
-<pre>bool operator != ( optional&lt;T&gt; const&amp x, optional&lt;T&gt const&amp y );
-</pre>
-<blockquote>
- <p><b>Returns:</b> !( x == y );</p>
- <p><b>Throws:</b> Nothing.</p>
-</blockquote>
-
-<HR>
-<pre>bool operator &gt; ( optional&lt;T&gt; const&amp x, optional&lt;T&gt const&amp y );
-</pre>
-<blockquote>
- <p><b>Returns:</b> ( y &lt; x );</p>
- <p><b>Throws:</b> Nothing.</p>
-</blockquote>
-
-<HR>
-<pre>bool operator &lt;= ( optional&lt;T&gt; const&amp x, optional&lt;T&gt const&amp y );
-</pre>
-<blockquote>
- <p><b>Returns:</b> !( y&lt;x );</p>
- <p><b>Throws:</b> Nothing.</p>
-</blockquote>
-
-<HR>
-<pre>bool operator &gt;= ( optional&lt;T&gt; const&amp x, optional&lt;T&gt const&amp y );
-</pre>
-<blockquote>
- <p><b>Returns:</b> !( x&lt;y );</p>
- <p><b>Throws:</b> Nothing.</p>
-</blockquote>
-
-<HR>
-<pre>
-bool operator == ( optional&lt;T&gt; const&amp; x, T const&amp; n );
-bool operator != ( optional&lt;T&gt; const&amp; x, T const&amp; n );
-bool operator &lt; ( optional&lt;T&gt; const&amp; x, T const&amp; n );
-bool operator &gt; ( optional&lt;T&gt; const&amp; x, T const&amp; n );
-bool operator &lt;= ( optional&lt;T&gt; const&amp; x, T const&amp; n );
-bool operator &gt;= ( optional&lt;T&gt; const&amp; x, T const&amp; n );
-bool operator == ( T const&amp; n, optional&lt;T&gt; const&amp; y );
-bool operator != ( T const&amp; n, optional&lt;T&gt; const&amp; y );
-bool operator &lt; ( T const&amp; n, optional&lt;T&gt; const&amp; y );
-bool operator &gt; ( T const&amp; n, optional&lt;T&gt; const&amp; y );
-bool operator &lt;= ( T const&amp; n, optional&lt;T&gt; const&amp; y );
-bool operator &gt;= ( T const&amp; n, optional&lt;T&gt; const&amp; y );
-</pre>
-<blockquote>
- <p><b>Returns:</b> The result obtained by replacing the argument 'n' by optional&lt;T&gt;(n).</p>
-</blockquote>
-
-<HR>
-<pre>
-bool operator == ( optional&lt;T&gt; const&amp; x, none_t n );
-bool operator != ( optional&lt;T&gt; const&amp; x, none_t n );
-bool operator &lt; ( optional&lt;T&gt; const&amp; x, none_t n );
-bool operator &gt; ( optional&lt;T&gt; const&amp; x, none_t n );
-bool operator &lt;= ( optional&lt;T&gt; const&amp; x, none_t n );
-bool operator &gt;= ( optional&lt;T&gt; const&amp; x, none_t n );
-bool operator == ( none_t n, optional&lt;T&gt; const&amp; y );
-bool operator != ( none_t n, optional&lt;T&gt; const&amp; y );
-bool operator &lt; ( none_t n, optional&lt;T&gt; const&amp; y );
-bool operator &gt; ( none_t n, optional&lt;T&gt; const&amp; y );
-bool operator &lt;= ( none_t n, optional&lt;T&gt; const&amp; y );
-bool operator &gt;= ( none_t n, optional&lt;T&gt; const&amp; y );
-</pre>
-<blockquote>
- <p><b>Returns:</b> The result obtained by replacing the argument 'n' by optional&lt;T&gt;().</p>
-</blockquote>
-<HR>
-
-<pre>void swap ( optional&lt;T&gt;&amp x, optional&lt;T&gt&amp y );</pre>
-
-<blockquote>
-<p><b>Effect:</b> If both <b>x</b> and <b>y</b> are initialized, calls <code>swap(*x,*y)</code> using std::swap.<br>
-If only one is initialized, say x, calls: <code>y = *x; x = boost:none;</code><br>
-If none is initialized, does nothing. </p>
-<p><b>Postconditions:</b> The states of x and y interchanged.</p>
-<p><b>Throws:</b> If both are initialized, whatever swap(T&amp;,T&amp;) throws.
-If only one is initialized, whatever T::T ( T const&amp; ) throws. </p>
-<p><b>Notes:</b> If both are initialized, swap(T&amp;,T&amp;) is used <i>unqualified</i> but with std::swap introduced in scope.<br>
-If only one is initialized, T::~T() and T::T( T const& ) is called. </p>
-<p><b>Exception Safety:</b> If both are initialized, this operation has the exception
-safety guarantees of swap(T&,T&).<br>
-If only one is initialized, it has the same <b>basic</b> guarantee as optional&lt;T&gt;::operator=( T const& ). </p>
-<p><b>Example:</b></p>
-<blockquote>
- <pre>T x(12);
-T y(21);
-optional&lt;T&gt; def0 ;
-optional&lt;T&gt; def1 ;
-optional&lt;T&gt; optX(x);
-optional&lt;T&gt; optY(y);
-
-boost::swap(def0,def1); // no-op
-
-boost::swap(def0,optX);
-assert ( *def0 == x );
-assert ( !optX );
-
-boost::swap(def0,optX); // Get back to original values
-
-boost::swap(optX,optY);
-assert ( *optX == y );
-assert ( *optY == x );
-
-</pre>
-</blockquote>
-</blockquote>
-<HR>
-
-<H2><A NAME="examples">Examples</A></H2>
-
-<h3>Optional return values</h3>
-<PRE>optional&lt;char&gt; get_async_input()
-{
-&nbsp; if ( !queue.empty() )
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return optional&lt;char&gt;(queue.top());
-&nbsp; else return optional&lt;char&gt;(); // uninitialized
-}
-
-void receive_async_message()
-{
-&nbsp; optional&lt;char&gt; rcv ;
-&nbsp; // The safe boolean conversion from 'rcv' is used here.
-&nbsp; while ( (rcv = get_async_input()) &amp;&amp; !timeout() )
-&nbsp;&nbsp;&nbsp; output(*rcv);
-}
-</pre>
-
-<h3>Optional local variables</h3>
-<pre>optional&lt;string&gt; name ;
-if ( database.open() )
-{
-&nbsp; name = database.lookup(employer_name) ;
-}
-else
-{
-&nbsp; if ( can_ask_user )
-&nbsp;&nbsp;&nbsp; name = user.ask(employer_name) ;
-}
-
-if ( name )
-&nbsp;&nbsp;&nbsp;&nbsp; print(*name);
-else print(&quot;employer's name not found!&quot;);
-</pre>
-
-<h3>Optional data members</h3>
-<pre>class figure
-{
-&nbsp; public:
-
-&nbsp;&nbsp;&nbsp; figure()
-&nbsp;&nbsp;&nbsp; {
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // data member 'm_clipping_rect' is uninitialized at this point.
-&nbsp;&nbsp;&nbsp; }
-
-&nbsp;&nbsp;&nbsp; void clip_in_rect ( rect const&amp; rect )
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ....
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_clipping_rect = rect ; // initialized here.
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
-
-&nbsp;&nbsp;&nbsp; void draw ( canvas& cvs )
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( m_clipping_rect )
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do_clipping(*m_clipping_rect);
-
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cvs.drawXXX(..);
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
-
-&nbsp;&nbsp;&nbsp; // this can return NULL.
-&nbsp;&nbsp;&nbsp; rect const* get_clipping_rect() { return get_pointer(m_clipping_rect); }
-
-&nbsp; private :
-
-&nbsp;&nbsp;&nbsp; optional&lt;rect&gt; m_clipping_rect ;
-
-};
-</pre>
-<h3>Bypassing expensive unnecessary default construction</h3>
-<pre>class ExpensiveCtor { ... } ;
-class Fred
-{
-&nbsp; Fred() : mLargeVector(10000) {}
-
-&nbsp; std::vector< optional&lt;ExpensiveCtor&gt; > mLargeVector ;
-} ;
-</pre>
-
-<HR>
-
-<H2><A NAME="ref">Optional references</A></H2>
-<p>This library allows the template parameter T to be of reference type: T&amp;, and
-to some extent, T const&amp;.</p>
-
-<p>However, since references are not real objects some restrictions apply and
-some operations are not available in this case:</p>
-
-<ul>
- <li>Converting constructors</li>
- <li>Converting assignment</li>
- <li>InPlace construction</li>
- <li>InPlace assignment</li>
-</ul>
-<p>Also, even though optional&lt;T&amp;&gt; treats it wrapped pseudo-object much as a real
-value, a true real reference is stored, thus aliasing can ocurr: </p>
-
-<ul>
- <li>Copies of optional&lt;T&amp;&gt; copies the reference, but all copied references
- will nonetheless reefer to the same object.</li>
- <li>Value-access provides access to the referenced object rather
- than the reference itself.</li>
- <li>Pointer-access provides a pointer to the referenced object rather
- than a pointer to the reference itself.</li>
-</ul>
-
-<HR>
-<h2><A NAME="refassign">Rebinding semantics for assignment of optional
-references</a></h2>
-<p>If you assign to an <i>uninitialized</i> optional&lt;T&amp;&gt; the effect is to bind (for the first time) to the object.
-Clearly, there is no other choice.</p>
-<pre>int x = 1 ;
-int&amp; rx = x ;
-optional&lt;int&amp;&gt; ora ;
-optional&lt;int&amp;&gt; orb(rx) ;
-ora = orb ; // now 'ora'&nbsp;is bound to 'x' through 'rx'
-*ora = 2 ; // Changes value of 'x' through 'ora'
-assert(x==2);
-</pre>
-<p>If you assign to a bare C++ reference, the assignment is forwarded to the
-referenced object; it's value changes but the reference is never rebound.</p>
-<pre>int a = 1 ;
-int&amp; ra = a ;
-int b = 2 ;
-int&amp; rb = b ;
-ra = rb ; // Changes the VALUE of 'a' to that of 'b'
-assert(a==b);
-b = 3 ;
-assert(ra!=b); // 'ra' is not rebound to 'b'
-</pre>
-<p>Now, if you assign to an <i>initialized</i> optional&lt;T&amp;&gt;, the effect is to <b>rebind</b> to the new object instead of assigning the referee. This is unlike
-bare C++ references.</p>
-<pre>int a = 1 ;
-int b = 2 ;
-int&amp; ra = a ;
-int&amp; rb = b ;
-optional&lt;int&amp;&gt; ora(ra) ;
-optional&lt;int&amp;&gt; orb(rb) ;
-ora = orb ; // 'ora'&nbsp;is <b>rebound</b> to 'b'
-*ora = 3 ; // Changes value of 'b' (not 'a')
-assert(a==1);
-assert(b==3);
-</pre>
-<h3>Rationale:</h3>
-<p>Rebinding semantics for the assignment of <i>initialized</i> optional
-references has been chosen to provide<b><i> </i>consistency among initialization
-states<i> </i></b>even at the expense of lack of consistency with the semantics of bare
-C++ references.<br>
-It is true that optional&lt;U&gt; strives to behave as much as possible as U does
-whenever it is initialized; but in the case when U is T&amp;, doing so would result
-in inconsistent behavior w.r.t to the lvalue initialization state.</p>
-<p>Consider the following code :</p>
-<pre>
-int x = 1 ;
-int& rx = x ;
-void foo ( optional&lt;int&amp;&gt; & outer )
-{
- optional&lt;int&amp;&gt; b(rx);
- outer = b ;
-}
-</pre>
-<p>What should the assignment to 'outer' do?<br>
-If 'outer' is <i>uninitialized</i>, the answer is clear: it should bind to 'x' (so we now have
-a second reference to 'x').<br>
-But what if 'outer' is already <i>initialized?</i><br>
-The assignment could change the value of the
-referenced object (whatever that is), but doing that would be inconsistent with the uninitialized case
-and then you wouldn't be able to reason at compile time about all the references to x since
-the appearance of a new reference to it would depend on wheter the lvalue ('outer')
-is initialized or not.</p>
-<p>Arguably, if rebinding the reference to another object is wrong for your code, then is
-likely that binding it for the fist time via assignment instead of intialization is also wrong.
-In that case, you can always just assign the value to the referenced object directly via
-the access operator <code>*opt=value</code>.</p>
-<p>If rebinding is wrong but first-time binding
-isn't (via assignment), you can always work around the rebinding semantics using a discriminator:</p>
-<pre>
-if ( !opt )
- opt = value ; // first-time binding
-else *opt = value ; // assign to referee without rebinding
-</pre>
-
-<HR>
-
-<H2><A NAME="none">none_t and none</A></H2>
-<p>optional&lt;T&gt; supports uninitialized states with a convenient syntax via a constant of
-the <i>implementation-defined</i> type <code>boost::none_t</code>, identified as <code>boost::none</code>.</p>
-<p>Starting with Boost version 1.34.0, both <code>boost::none_t</code> and <code>boost::none</code> are
-included in <code>boost/none.hpp</code>, which is automatically included by <code>boost/optional/optional.hpp</code>
-</p>
-<p>This contant is similar in purpose to NULL, except that is not a <i>null pointer value</i>. You can use it to initialize
-an optional&lt;T&gt; instance, which has the same effect of a default constructor, and you can assign it which has the
-effect of reseting the optional&lt;T&gt; instance. You can also use it in relational operators to make the predicate expression
-more clear.</p>
-<p>Here are some typical examples:</p>
-<pre>
-#include "boost/optional/optional.hpp" // boost/none.hpp is included automatically
-
-boost::optional&lt;int&gt; foo ( int a )
-{
- return some_condition(a) ? boost::make_optional(a) : boost::none ;
-
- // NOTE: in real code you can just use this: make_optional(some_condition(a), a )
-}
-
-boost::optional&lt;int&gt; opt = boost::none ;
-
-if ( opt == boost::none )
- opt = foo(123);
-
-opt = boost::none ;
-
-</pre>
-
-<HR>
-
-<H2><A NAME="inplace">In-Place Factories</A></H2>
-<p>
-One of the typical problems with wrappers and containers is that their
-interfaces usually provide an operation to initialize or assign the contained
-object as a copy of some other object. This not only requires the underlying
-type to be Copy Constructible, but also requires the existence of a fully
-constructed object, often temporary, just to follow the copy from:</p>
-<pre>struct X
-{
- X ( int, std:::string ) ;
-} ;</pre>
-<pre>class W
-{
- X wrapped_ ;
-
-public:
-
- W ( X const& x ) : wrapped_(x) {}
-} ;</pre>
-<pre>void foo()
-{
- // Temporary object created.
- W ( X(123,"hello") ) ;
-}
-</pre>
-<p>A solution to this problem is to support direct construction of the contained
-object right in the container's storage.<br>
-In this scheme, the user only needs to supply the arguments to the constructor
-to use in the wrapped object construction.</p>
-<pre>class W
-{
- X wrapped_ ;
-
-public:
-
- W ( X const& x ) : wrapped_(x) {}
- W ( int a0, std::string a1) : wrapped_(a0,a1) {}
-} ;</pre>
-<pre>void foo()
-{
- // Wrapped object constructed in-place
- // No temporary created.
- W (123,"hello") ;
-}
-</pre>
-<p>A limitation of this method is that it doesn't scale well to wrapped objects with multiple
-constructors nor to generic code were the constructor overloads are unknown.</p>
-<p>The solution presented in this library is the family of <b>InPlaceFactories</b> and <b>TypedInPlaceFactories</b>.<br>
-These factories are a family of classes which encapsulate an increasing number of arbitrary
-constructor parameters and supply a method to construct an object of a given type using those
-parameters at an address specified by the user via placement new.</p>
-<p>&nbsp;For example, one member of this family looks like:</p>
-<pre>template&lt;class T,class A0, class A1&gt;
-class TypedInPlaceFactory2
-{
- A0 m_a0 ; A1 m_a1 ;
-
-public:
-
- TypedInPlaceFactory2( A0 const& a0, A1 const& a1 ) : m_a0(a0), m_a1(a1) {}
-
- void construct ( void* p ) { new (p) T(m_a0,m_a1) ; }
-} ;
-</pre>
-<p>A wrapper class aware of this can use it as:</p>
-<pre>class W
-{
- X wrapped_ ;
-
-public:
-
- W ( X const& x ) : wrapped_(x) {}
- W ( TypedInPlaceFactory2 const& fac ) { fac.construct(&wrapped_) ; }
-} ;</pre>
-<pre>void foo()
-{
- // Wrapped object constructed in-place via a TypedInPlaceFactory.
- // No temporary created.
- W ( TypedInPlaceFactory2&lt;X,int,std::string&rt;(123,"hello")) ;
-}
-</pre>
-<p>The factories are divided in two groups:<ul>
- <li><u>TypedInPlaceFactories</u>: those which take the target type as a primary template parameter.</li>
- <li><u>InPlaceFactories</u>: those with a template <code>construct(void*)</code> member function taking the target type.</li>
- </ul>
-<p>Within each group, all the family members differ only in the number of parameters allowed.</p>
-<p></p>
-<p>This library provides an overloaded set of helper template functions to construct these factories
-without requiring unnecessary template parameters:</p>
-<pre>template&lt;class A0,...,class AN&gt;
-InPlaceFactory<i>N </i>&lt;A0,...,AN&gt; <b>in_place</b> ( A0 const& a0, ..., AN const& aN) ;
-
-template&lt;class T,class A0,...,class AN&gt;
-TypedInPlaceFactory<i>N </i>&lt;T,A0,...,AN&gt; <b>in_place</b> ( T const& a0, A0 const& a0, ..., AN const& aN) ;</pre>
-
-<p>In-place factories can be used generically by the wrapper and user as follows:</p>
-<pre>class W
-{
- X wrapped_ ;
-
-public:
-
- W ( X const& x ) : wrapped_(x) {}
-
- template<class InPlaceFactory></class>
- W ( InPlaceFactory const& fac ) { fac.template &lt;X&gt;construct(&wrapped_) ; }
-
-} ;</pre>
-<pre>void foo()
-{
- // Wrapped object constructed in-place via a InPlaceFactory.
- // No temporary created.
- W ( in_place(123,"hello") ) ;
-}
-</pre>
-<p>The factories are implemented in the headers: in_place_factory.hpp and typed_in_place_factory.hpp </p>
-
-<HR>
-
-<H2><A NAME="bool">A note about optional&lt;bool&gt;</A></H2>
-<p><code>optional&lt;bool&gt;</code> should be used with special caution and consideration.</p>
-<p>First, it is functionally similar to a tristate boolean (false,maybe,true) &mdash;such as boost::tribool&mdash;except that in a tristate boolean,
-the <i>maybe</i> state <u>represents a valid value</u>, unlike the corresponding state
-of an uninitialized optional&lt;bool&gt;.<br>
-It should be carefully considered if an optional&lt;bool&gt; instead of a tribool is really needed</p>
-<p>Second, optional&lt;&gt; provides a simple way to test initialization state: an implicit conversion to a type that evaluates as a 'bool' in a boolean context.<br>
-Using optional&lt;bool&gt; can lead to subtle errors due to this implicit conversion:</p>
-<pre>void foo ( bool v ) ;
-void bar()
-{
-&nbsp; optional&lt;bool&gt; v = try();
-
-&nbsp; // The following intended to pass the <b>value</b> of 'v' to foo():
-&nbsp; foo(v);
-&nbsp; // But instead, the <i>initialization state</i> is passed
-&nbsp; // due to a typo: it should have been foo(<b>*</b>v).
-}
-</pre>
-<p>The only implicit conversion is to bool, and it is <i>safe</i> in the sense that typical
-integral promotions don't apply (i.e. if foo() takes an 'int' instead, it won't compile). <HR>
-
-<H2><A NAME="exsafety">Exception Safety Guarantees</A></H2>
-
-<H3><u>Assignment:</u></H3>
-<p><i>IMPORTANT NOTE: This changed in 1.33.1 with respect to previous versions</i></p>
-<p>Because of the current implementation (see Implementation Notes), all
-of the assignment methods:</p>
-<ul>
- <li> <code>optional&lt;T&gt;::operator= ( optional&lt;T&gt; const&amp; ) </code>
- </li>
- <li> <code>optional&lt;T&gt;::operator= ( T const&amp; ) </code></li>
- <li> <code>template&lt;class U&gt; optional&lt;T&gt;::operator= ( optional&lt;U&gt; const&amp; ) </code>
- </li>
- <li> <code>template&lt;class InPlaceFactory&gt; optional&lt;T&gt;::operator= (
- InPlaceFactory const&amp; ) </code></li>
- <li> <code>template&lt;class TypedInPlaceFactory&gt; optional&lt;T&gt;::operator= (
- TypedInPlaceFactory const&amp; ) </code></li>
-</ul>
-<p>cannot offer any <i>exception safety guarantee</i> beyond that provided by <code>T::operator=( T const&amp; )</code></p>
-<p>On the other hand, the <i>uninitializing</i> methods:</p>
-<ul>
- <li><code>optional&lt;T&gt;::operator= ( detail::none_t ) </code></li>
-</ul>
-<p>Provides the no-throw guarantee (assuming a no-throw T::~T()) becuse it only destroys the stored object.</p>
-
-<H3><u>Swap:</u></H3>
-<p><code>void swap( optional&lt;T&gt;&amp;, optional&lt;T&gt;&amp; )</code> has the same exception guarantee as <code>swap(T&amp;,T&amp;)</code> when both optionals are initialized.<br>
-If only one of the optionals is initialized, it gives the same exception guarantee as <code>T::operator=( T const&amp; )</code> (since <code>optional&lt;T&gt;::operator=( none_t )</code> doesn't throw).<br>
-If none of the optionals is initialized, it has no-throw guarantee since it is a no-op. </p>
-
-<HR>
-
-<H2><A NAME="requirements">Type requirements</A></H2>
-<p>In general, T must be Copy Constructible and have a no-throw destructor. The copy-constructible requirement is not needed
-if InPlaceFactories are used.<br>
-T <u>is not</u> required to be Default Constructible </p>
-
-<HR>
-
-<H2><A NAME="impl">Implementation Notes</A></H2>
-<p>optional&lt;T&gt; is currently implemented
- using a custom aligned storage facility built from <code>alignment_of</code> and <code>type_with_alignment</code> (both from Type Traits).
- It uses a separate boolean flag to indicate the initialization state.</p>
-<p>Placement new with T's copy constructor and T's destructor
- is explicitly used to initialize and destroy optional values. This allows T's default constructor to be effectively by-passed.</p>
-<p>If assignment is used and the lvalue optional is uninitialized, T's copy constructor is used. However, if it is already initialized, T's assignment operator is used. This prevents optional from offering any exception guarantee stronger than the one offered by the type T itself</p>
-
-<HR>
-
-<H2><A NAME="porta">Dependencies and Portability</A></H2>
-
-<p>The implementation uses <code>type_traits/alignment_of.hpp</code> and <code>type_traits/type_with_alignment.hpp</code></p>
-
-<HR>
-
-<H2><A NAME="credits">Acknowledgments</A></H2>
-<p>Pre-formal review:</p>
-<blockquote>
-<p>Peter Dimov suggested the name 'optional', and was the first to point out the
- need for aligned storage<br>
- Douglas Gregor developed 'type_with_alignment', and later Eric Friedman coded
- 'aligned_storage', which are the core of the optional class implementation.<br>
- Andrei Alexandrescu and Brian Parker also worked with aligned storage techniques
- and their work influenced the current implementation.<br>
- Gennadiy Rozental made extensive and important comments which shaped the design.<br>
- Vesa Karvonen and Douglas Gregor made quite useful comparisons between optional,
- variant and any; and made other relevant comments. Douglas Gregor and Peter
- Dimov commented on comparisons and evaluation in boolean contexts.<br>
- Eric Friedman helped understand the issues involved with aligned storage, move/copy
- operations and exception safety.<br>
- Many others have participated with useful comments: Aleksey Gurotov, Kevlin
- Henney, David Abrahams, and others I can't recall. </p>
-</blockquote>
-<p>Post-formal review:</p>
-<blockquote>
- <p>William Kempf carefully considered the originally proposed interface and
- suggested the new interface which is currently used. He also started and fueled
- the discussion about the analogy optional&lt;&gt;/smart pointer and about
- relational operators.<br>
- Peter Dimov, Joel de Guzman, David Abrahams, Tanton Gibbs and Ian Hanson focused
- on the relational semantics of optional (originally undefined); concluding
- with the fact that the pointer-like interface doesn't make it a pointer so
- it shall have deep relational operators.<br>
- Augustus Saunders also explored the different relational semantics between
- optional&lt;&gt; and a pointer and developed the OptionalPointee concept as
- an aid against potential conflicts on generic code.<br>
- Joel de Guzman noticed that optional&lt;&gt; can be seen as an API on top
- of variant&lt;T,nil_t&gt;.<br>
- Dave Gomboc explained the meaning and usage of the Haskell analog to optional&lt;&gt;:
- the Maybe type constructor (analogy originally pointed out by David Sankel).<br>
- Other comments were posted by Vincent Finn, Anthony Williams, Ed Brey, Rob
- Stewart, and others.<br>
- Joel de Guzman made the case for the support of references and helped with
- the proper semantics.<br>
- Mat Marcus shown the virtues of a value-oriented interface, influencing the
- current design, and contributed the idea of &quot;none&quot;.</p>
-</blockquote>
-<HR>
-
-<P>Revised March 27, 2007</P>
-<p>© Copyright Fernando Luis Cacciola Carballal, 2003-2007</p>
-<p> Use, modification, and distribution are subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)</p>
-<P>Developed by <A HREF="mailto:fernando_cacciola_at_[hidden]">Fernando Cacciola</A>,
-the latest version of this file can be found at <A
-HREF="http://www.boost.org">www.boost.org</A>, and the boost discussion lists</P>
-</pre></BODY>
-</HTML>
\ No newline at end of file

Modified: branches/fix-links/libs/optional/doc/optional.qbk
==============================================================================
--- branches/fix-links/libs/optional/doc/optional.qbk (original)
+++ branches/fix-links/libs/optional/doc/optional.qbk 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -40,11 +40,6 @@
 
 [/ Icons ]
 
-[def __NOTE__ [$images/note.png]]
-[def __ALERT__ [$images/caution.png]]
-[def __DETAIL__ [$images/note.png]]
-[def __TIP__ [$images/tip.png]]
-[def __QUESTION_MARK__ [$images/question.png]]
 [def __SPACE__ [$images/space.png]]
 [def __GO_TO__ [$images/callouts/R.png]]
 

Modified: branches/fix-links/libs/optional/doc/reference.qbk
==============================================================================
--- branches/fix-links/libs/optional/doc/reference.qbk (original)
+++ branches/fix-links/libs/optional/doc/reference.qbk 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -126,6 +126,7 @@
 Because `T` might be of reference type, in the sequel, those entries whose
 semantic depends on `T` being of reference type or not will be distinguished
 using the following convention:
+
 * If the entry reads: `optional<T`['(not a ref)]`>`, the description
 corresponds only to the case where `T` is not of reference type.
 * If the entry reads: `optional<T&>`, the description corresponds only to

Modified: branches/fix-links/libs/optional/index.html
==============================================================================
--- branches/fix-links/libs/optional/index.html (original)
+++ branches/fix-links/libs/optional/index.html 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="refresh" content="0; URL=doc/optional.html">
+<meta http-equiv="refresh" content="0; URL=doc/html/index.html">
 </head>
 <body>
 Automatic redirection failed, please go to
-doc/optional.html.&nbsp;<hr>
-<p>© Copyright Beman Dawes, 2001</p>
+doc/html/index.html.&nbsp;<hr>
+<p>� Copyright Beman Dawes, 2001</p>
 <p>Distributed under the Boost Software License, Version 1.0. (See accompanying
 file LICENSE_1_0.txt or copy
 at www.boost.org/LICENSE_1_0.txt)</p>

Modified: branches/fix-links/libs/wave/ChangeLog
==============================================================================
--- branches/fix-links/libs/wave/ChangeLog (original)
+++ branches/fix-links/libs/wave/ChangeLog 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -25,10 +25,6 @@
 CHANGELOG
 
 - Wave Version 1.4
-- Added the BOOST_WAVE_SUPPORT_THREADING allowing to explicitelz control
- whether the Wave library is built with threading support enabled. If not
- defined the build settings will be picked up from the Boost build environment
- (BOOST_HAS_THREADS).
   
 Boost V1.35.0
 - Wave Version 1.3
@@ -165,6 +161,12 @@
 - Fixed a bug in the pp hook expanding_function_like_macro(), where the seqend
   parameter was set to the first token after the closing parenthesis instead of
   pointing at it.
+- Added the BOOST_WAVE_SUPPORT_THREADING allowing to explicitely control
+ whether the Wave library is built with threading support enabled. If not
+ defined the build settings will be picked up from the Boost build environment
+ (BOOST_HAS_THREADS).
+- Fixed a whitespace insertion glitch, where whitespace got inserted
+ unconditionally between two operators even if one of these was a comma.
   
 Boost V1.34.0
 - Wave Version 1.2.4

Modified: branches/fix-links/libs/xpressive/test/test_symbols.cpp
==============================================================================
--- branches/fix-links/libs/xpressive/test/test_symbols.cpp (original)
+++ branches/fix-links/libs/xpressive/test/test_symbols.cpp 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -8,6 +8,7 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
+#include <string>
 #include <map>
 #include <boost/version.hpp>
 #include <boost/xpressive/xpressive_static.hpp>
@@ -25,14 +26,16 @@
 {
     using namespace boost::xpressive;
 
- std::string result;
+ local<std::string> result;
     std::string str("foo bar baz foo bar baz");
     std::map<std::string,std::string> map1;
     map1["foo"] = "1";
     map1["bar"] = "2";
     map1["baz"] = "3";
 
- sregex rx = (a1=map1)[ xp::ref(result) = a1 ] >> *(' ' >> (a1=map1)[ xp::ref(result) += ',' + a1 ]);
+ sregex rx = skip(_s) (+(a1=map1)
+ [ result += if_else(length(result) > 0, ",", "") + a1 ]
+ );
 
     if(!regex_match(str, rx))
     {
@@ -40,7 +43,7 @@
     }
     else
     {
- BOOST_CHECK_EQUAL(result, "1,2,3,1,2,3");
+ BOOST_CHECK_EQUAL(result.get(), "1,2,3,1,2,3");
     }
 }
 
@@ -51,7 +54,7 @@
 {
     using namespace boost::xpressive;
 
- std::string result;
+ local<std::string> result;
     std::string str("foobarbazfoobazbazfoobazbar");
     std::map<std::string,std::string> map1;
     map1["foo"] = "1";
@@ -60,8 +63,9 @@
     map1["foobaz"] = "4";
     map1["foobazbaz"] = "5";
 
- sregex rx = (a1=map1)[ xp::ref(result) = a1 ]
- >> *((a1=map1)[ xp::ref(result) += ',', xp::ref(result) += a1 ]);
+ sregex rx = skip(_s) (+(a1=map1)
+ [ result += if_else(length(result) > 0, ",", "") + a1 ]
+ );
 
     if(!regex_match(str, rx))
     {
@@ -69,7 +73,7 @@
     }
     else
     {
- BOOST_CHECK_EQUAL(result, "1,2,3,5,4,2");
+ BOOST_CHECK_EQUAL(result.get(), "1,2,3,5,4,2");
     }
 }
 
@@ -89,11 +93,13 @@
     map1["bop"] = 7890;
 
 #if BOOST_VERSION >= 103500
- sregex rx = (a1=map1)[ xp::ref(result)->*push_back( a1 ) ]
- >> *(' ' >> (a1=map1)[ xp::ref(result)->*push_back( a1 ) ]);
+ sregex rx = skip(_s) (+(a1=map1)
+ [ xp::ref(result)->*push_back( a1 ) ]
+ );
 #else
- sregex rx = (a1=map1)[ push_back(xp::ref(result), a1 ) ]
- >> *(' ' >> (a1=map1)[ push_back(xp::ref(result), a1 ) ]);
+ sregex rx = skip(_s) (+(a1=map1)
+ [ push_back(xp::ref(result), a1 ) ]
+ );
 #endif
 
     if(!regex_match(str, rx))
@@ -155,7 +161,7 @@
 {
     using namespace boost::xpressive;
 
- int result = 0;
+ local<int> result(0);
     std::string str("abcdefghi");
     std::map<std::string,int> map1;
     std::map<std::string,int> map2;
@@ -177,15 +183,15 @@
     map9["i"] = 9;
 
     sregex rx =
- (a1=map1)[ xp::ref(result) += a1 ]
- >> (a2=map2)[ xp::ref(result) += a2 ]
- >> (a3=map3)[ xp::ref(result) += a3 ]
- >> (a4=map4)[ xp::ref(result) += a4 ]
- >> (a5=map5)[ xp::ref(result) += a5 ]
- >> (a6=map6)[ xp::ref(result) += a6 ]
- >> (a7=map7)[ xp::ref(result) += a7 ]
- >> (a8=map8)[ xp::ref(result) += a8 ]
- >> (a9=map9)[ xp::ref(result) += a9 ];
+ (a1=map1)[ result += a1 ]
+ >> (a2=map2)[ result += a2 ]
+ >> (a3=map3)[ result += a3 ]
+ >> (a4=map4)[ result += a4 ]
+ >> (a5=map5)[ result += a5 ]
+ >> (a6=map6)[ result += a6 ]
+ >> (a7=map7)[ result += a7 ]
+ >> (a8=map8)[ result += a8 ]
+ >> (a9=map9)[ result += a9 ];
 
     if(!regex_match(str, rx))
     {
@@ -193,7 +199,7 @@
     }
     else
     {
- BOOST_CHECK_EQUAL(result, 45);
+ BOOST_CHECK_EQUAL(result.get(), 45);
     }
 }
 
@@ -204,23 +210,25 @@
 {
     using namespace boost::xpressive;
 
- std::string result;
+ local<std::string> result;
     std::map<std::string,std::string> map1;
     map1["a"] = "1";
     map1["A"] = "2";
     map1["b"] = "3";
     map1["B"] = "4";
     std::string str("a A b B a A b B");
- sregex rx = icase(a1= map1) [ xp::ref(result) = a1 ]
- >> repeat<3>( (' ' >> icase(a1= map1) [ xp::ref(result) += ',', xp::ref(result) += a1 ]) )
- >> repeat<4>( (' ' >> (a1= map1) [ xp::ref(result) += ',', xp::ref(result) += a1 ]) );
+ sregex rx = skip(_s)(
+ icase(a1= map1) [ result = a1 ]
+ >> repeat<3>( (icase(a1= map1) [ result += ',' + a1 ]) )
+ >> repeat<4>( ((a1= map1) [ result += ',' + a1 ]) )
+ );
     if(!regex_match(str, rx))
     {
         BOOST_ERROR("oops");
     }
     else
     {
- BOOST_CHECK_EQUAL(result, "1,1,3,3,1,2,3,4");
+ BOOST_CHECK_EQUAL(result.get(), "1,1,3,3,1,2,3,4");
     }
 }
 
@@ -231,7 +239,7 @@
 {
     using namespace boost::xpressive;
 
- std::string result;
+ local<std::string> result;
     std::map<std::string,std::string> map1;
     map1["a"] = "1";
     map1["b"] = "2";
@@ -239,14 +247,14 @@
     map2["c"] = "3";
     map2["d"] = "4";
     std::string str("abcde");
- sregex rx = *((a1= map1) | (a1= map2) | 'e') [ xp::ref(result) += (a1 | "9") ];
+ sregex rx = *((a1= map1) | (a1= map2) | 'e') [ result += (a1 | "9") ];
     if(!regex_match(str, rx))
     {
         BOOST_ERROR("oops");
     }
     else
     {
- BOOST_CHECK_EQUAL(result, "12349");
+ BOOST_CHECK_EQUAL(result.get(), "12349");
     }
 }
 
@@ -281,17 +289,17 @@
     }
 
     std::wstring str(L"Chicago \u041c\u043E\u0441\u043A\u0432\u0430");
- City result1, result2;
- wsregex rx = (a1= map1)[ xp::ref(result1) = a1 ] >> +_s
- >> (a1= map1)[ xp::ref(result2) = a1 ];
+ local<City> result1, result2;
+ wsregex rx = (a1= map1)[ result1 = a1 ] >> +_s
+ >> (a1= map1)[ result2 = a1 ];
     if(!regex_match(str, rx))
     {
         BOOST_ERROR("oops");
     }
     else
     {
- BOOST_CHECK_EQUAL(result1.nickname, "The Windy City");
- BOOST_CHECK_EQUAL(result2.nickname, "Moscow");
+ BOOST_CHECK_EQUAL(result1.get().nickname, "The Windy City");
+ BOOST_CHECK_EQUAL(result2.get().nickname, "Moscow");
     }
 }
 #else
@@ -312,8 +320,8 @@
     std::string str("foobar");
     std::map<std::string,int> map1;
     map1["foo"] = 1;
- int xx = 0;
- sregex rx = ~before((a1=map1)[xp::ref(xx)=a1]) >> (s1=*_w)[ xp::ref(result) = s1 ];
+ sregex rx = ~before((a1=map1)[a1]) >>
+ (s1=*_w)[ xp::ref(result) = s1 ];
     if(!regex_match(str, rx))
     {
         BOOST_CHECK_EQUAL(result, "");

Modified: branches/fix-links/status/explicit-failures-markup.xml
==============================================================================
--- branches/fix-links/status/explicit-failures-markup.xml (original)
+++ branches/fix-links/status/explicit-failures-markup.xml 2008-02-16 04:50:01 EST (Sat, 16 Feb 2008)
@@ -2047,8 +2047,11 @@
             <test name="stream_offset_64bit_test"/>
             <toolset name="borland-*"/>
             <note author="Jonathan Turkanis" date="04 Jan 2008">
- The Borland runtime library defines fpos_t as a 32-bit long,
- incapable of storing large offsets (see stdio.h)
+ In the Dinkumware standard library, streampos relies on fpos_t
+ to store stream offsets, but fpos_t is defined as a 32-bit
+ long by the Borland runtime library. In Borland's modified
+ version of STLPort, streampos relies on streamoff to store
+ stream offsets, but streamoff is defined to be a 32-bit long.
             </note>
         </mark-expected-failures>
         <mark-expected-failures>
@@ -2063,8 +2066,31 @@
             <test name="stream_offset_64bit_test"/>
             <toolset name="vacpp*"/>
             <note author="Jonathan Turkanis" date="09 Jan 2008">
- This platform uses the Dinkumware fpos, but std::streamsize and
- std::fpos_t are both 32-bit types.
+ On this platform, streampos is an alias for fpos, whose
+ implementation stores stream offsets using streamsize and
+ fpos_t; both of the latter types are 32-bit
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="stream_offset_64bit_test"/>
+ <toolset name="intel-win-10.0_stdcxx_421"/>
+ <toolset name="msvc-7.1_stdcxx_421"/>
+ <toolset name="msvc-9.0_stdcxx_421"/>
+ <toolset name="intel-win-10.1_stdcxx_421"/>
+ <toolset name="intel-linux-10.1_stdcxx_421"/>
+ <toolset name="gcc-4.2.1_stdcxx_421"/>
+ <note author="Jonathan Turkanis" date="09 Jan 2008">
+ On this platform, streampos is an alias for ptrdiff_t, which
+ is an alias for a 32-bit type
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="stream_offset_64bit_test"/>
+ <toolset name="gcc-4.2"/>
+ <note author="Jonathan Turkanis" date="09 Jan 2008">
+ The following applies only to gcc-4.2 using the stdcxx
+ standard library: On this platform, streampos is an alias for
+ ptrdiff_t, which is an alias for a 32-bit type
             </note>
         </mark-expected-failures>
     </library>


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