Boost logo

Boost-Commit :

From: eric_at_[hidden]
Date: 2008-03-24 00:58:29


Author: eric_niebler
Date: 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
New Revision: 43812
URL: http://svn.boost.org/trac/boost/changeset/43812

Log:
Merged revisions 43679-43680,43685-43687,43690-43696,43701-43702,43704-43706,43709,43714-43715,43717-43719,43721-43723,43726,43730-43733,43735,43738-43739,43741-43742,43747-43748,43750,43752,43758,43766,43781-43782,43795,43799,43803-43804,43806-43809 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r43679 | dgregor | 2008-03-17 10:31:21 -0700 (Mon, 17 Mar 2008) | 1 line
  
  Fix typo
........
  r43680 | dgregor | 2008-03-17 10:34:46 -0700 (Mon, 17 Mar 2008) | 1 line
  
  Fix some documentation issues. Fixes #1655, fixes #1660
........
  r43685 | eric_niebler | 2008-03-17 14:46:08 -0700 (Mon, 17 Mar 2008) | 1 line
  
  small interface simplification, doc comment improvements
........
  r43686 | jano_gaspar | 2008-03-17 15:27:15 -0700 (Mon, 17 Mar 2008) | 1 line
  
  circular_buffer: bugfix #1692
........
  r43687 | hljin | 2008-03-17 15:28:58 -0700 (Mon, 17 Mar 2008) | 1 line
  
  Added two scripts
........
  r43690 | ramey | 2008-03-17 21:58:51 -0700 (Mon, 17 Mar 2008) | 3 lines
  
  Support serialization in DLLS
  Make thread-safe
  fix portable binary archives
........
  r43691 | ramey | 2008-03-17 22:01:57 -0700 (Mon, 17 Mar 2008) | 3 lines
  
  Support serialization in DLLS
  Make thread-safe
  fix portable binary archives
........
  r43692 | ramey | 2008-03-17 22:47:10 -0700 (Mon, 17 Mar 2008) | 3 lines
  
  Support serialization in DLLS
  Make thread-safe
  fix portable binary archives
........
  r43693 | ramey | 2008-03-17 22:52:10 -0700 (Mon, 17 Mar 2008) | 3 lines
  
  Support serialization in DLLS
  Make thread-safe
  fix portable binary archives
........
  r43694 | ramey | 2008-03-17 22:53:07 -0700 (Mon, 17 Mar 2008) | 3 lines
  
  Support serialization in DLLS
  Make thread-safe
  fix portable binary archives
........
  r43695 | eric_niebler | 2008-03-17 23:18:33 -0700 (Mon, 17 Mar 2008) | 1 line
  
  work around gcc-4.0.1 bug with const-qualified function references
........
  r43696 | eric_niebler | 2008-03-17 23:44:45 -0700 (Mon, 17 Mar 2008) | 1 line
  
  better, restrict fix to gcc-4.0
........
  r43701 | ramey | 2008-03-18 08:51:13 -0700 (Tue, 18 Mar 2008) | 3 lines
  
  Support serialization in DLLS
  Make thread-safe
  fix portable binary archives
........
  r43702 | ramey | 2008-03-18 08:51:42 -0700 (Tue, 18 Mar 2008) | 3 lines
  
  Support serialization in DLLS
  Make thread-safe
  fix portable binary archives
........
  r43704 | ramey | 2008-03-18 09:31:36 -0700 (Tue, 18 Mar 2008) | 3 lines
  
  Support serialization in DLLS
  Make thread-safe
  fix portable binary archives
........
  r43705 | ramey | 2008-03-18 09:32:22 -0700 (Tue, 18 Mar 2008) | 3 lines
  
  Support serialization in DLLS
  Make thread-safe
  fix portable binary archives
........
  r43706 | ramey | 2008-03-18 09:32:48 -0700 (Tue, 18 Mar 2008) | 3 lines
  
  Support serialization in DLLS
  Make thread-safe
  fix portable binary archives
........
  r43709 | bemandawes | 2008-03-18 12:35:18 -0700 (Tue, 18 Mar 2008) | 1 line
  
  Fix inspect boo boos; mostly broken links
........
  r43714 | grafik | 2008-03-18 18:01:19 -0700 (Tue, 18 Mar 2008) | 1 line
  
  Disable serialization tests until Robert fixes the testing breakage.
........
  r43715 | bemandawes | 2008-03-18 18:42:03 -0700 (Tue, 18 Mar 2008) | 1 line
  
  Fix broken links
........
  r43717 | ramey | 2008-03-18 22:17:02 -0700 (Tue, 18 Mar 2008) | 3 lines
  
  Support serialization in DLLS
  Make thread-safe
  fix portable binary archives
........
  r43718 | eric_niebler | 2008-03-18 22:18:50 -0700 (Tue, 18 Mar 2008) | 1 line
  
  correct minor doc inaccuracies
........
  r43719 | jano_gaspar | 2008-03-19 02:24:24 -0700 (Wed, 19 Mar 2008) | 1 line
  
  circular_buffer: improved documentation
........
  r43721 | vladimir_prus | 2008-03-19 03:51:45 -0700 (Wed, 19 Mar 2008) | 5 lines
  
  Fix #1698 (http://svn.boost.org/trac/boost/ticket/1698).
  
      * build/virtual-target.jam (register): Ignore
      differences in incidental dependency features.
........
  r43722 | vladimir_prus | 2008-03-19 04:09:29 -0700 (Wed, 19 Mar 2008) | 3 lines
  
  Remove usage-requirements as they are not necessary,
  and can cause bogus dependencies for serialization's client.
........
  r43723 | bemandawes | 2008-03-19 05:33:41 -0700 (Wed, 19 Mar 2008) | 1 line
  
  Fix ordering of libraries within categories. [Vicente Juan Botet]
........
  r43726 | grafik | 2008-03-19 09:27:43 -0700 (Wed, 19 Mar 2008) | 1 line
  
  Re-enable serialization tests, now that they should be fixed.
........
  r43730 | anthonyw | 2008-03-19 10:25:13 -0700 (Wed, 19 Mar 2008) | 1 line
  
  Removed some warnings: those from issue #1640 and others
........
  r43731 | danieljames | 2008-03-19 11:22:58 -0700 (Wed, 19 Mar 2008) | 1 line
  
  Thread is now using quickbook so we have to add a dependency to get it to build, and add it to the path, as it needs to be picked up from the build location.
........
  r43732 | danieljames | 2008-03-19 11:27:34 -0700 (Wed, 19 Mar 2008) | 1 line
  
  Remove 'using quickbook' from my documentation jamfiles. It is no longer necessary, and might be harmful.
........
  r43733 | pdimov | 2008-03-19 12:39:50 -0700 (Wed, 19 Mar 2008) | 1 line
  
  Regression test for enable_shared_from_this.
........
  r43735 | lbourdev | 2008-03-19 21:27:41 -0700 (Wed, 19 Mar 2008) | 3 lines
  
  GIL: Changed a private type name to differ from #define used on some Linux systems.
........
  r43738 | fmhess | 2008-03-20 12:32:43 -0700 (Thu, 20 Mar 2008) | 4 lines
  
  Added support for calling enable_shared_from_this::shared_from_this in
  constructors. Closes #1696.
........
  r43739 | pdimov | 2008-03-20 15:10:52 -0700 (Thu, 20 Mar 2008) | 1 line
  
  Initialize _owned in the copy constructor as well.
........
  r43741 | lbourdev | 2008-03-21 02:40:59 -0700 (Fri, 21 Mar 2008) | 3 lines
  
  GIL: Fixed a bug in planar device_n view construction.
........
  r43742 | lbourdev | 2008-03-21 02:43:19 -0700 (Fri, 21 Mar 2008) | 3 lines
  
  GIL: Replaced tabs with spaces.
........
  r43747 | ramey | 2008-03-21 09:37:24 -0700 (Fri, 21 Mar 2008) | 1 line
  
  Added consideration for compac Tru64
........
  r43748 | ramey | 2008-03-21 09:40:06 -0700 (Fri, 21 Mar 2008) | 1 line
  
  added include <ostream> for friend operators
........
  r43750 | danieljames | 2008-03-21 09:52:40 -0700 (Fri, 21 Mar 2008) | 1 line
  
  Check links in single quotes as well as double quotes.
........
  r43752 | danieljames | 2008-03-21 09:56:35 -0700 (Fri, 21 Mar 2008) | 1 line
  
  Decode percent coded characters and '&amp;' when inspecting urls.
........
  r43758 | ramey | 2008-03-21 10:19:07 -0700 (Fri, 21 Mar 2008) | 1 line
  
  Adjustment to inhibit compile error with intel compilers
........
  r43766 | fmhess | 2008-03-21 12:19:25 -0700 (Fri, 21 Mar 2008) | 4 lines
  
  Worked around compilation error in boost::get_deleter when using old versions
  of g++.
........
  r43781 | noel_belcourt | 2008-03-21 14:04:36 -0700 (Fri, 21 Mar 2008) | 3 lines
  
  pgi-7.1 has testable version macros, yeah!
........
  r43782 | fmhess | 2008-03-21 14:12:21 -0700 (Fri, 21 Mar 2008) | 3 lines
  
  Fixed bogus test failure caused by new enable_shared_from_this features.
........
  r43795 | ramey | 2008-03-22 11:59:07 -0700 (Sat, 22 Mar 2008) | 4 lines
  
  streamlined Jamfile.v2
  eliminated build of binary_w*
  removed usage-requirement
  dropped serialization.jam as its no longer used
........
  r43799 | grafik | 2008-03-22 15:53:35 -0700 (Sat, 22 Mar 2008) | 1 line
  
  Remove svn exec property from files that should not be executable to fix permission problems in archives.
........
  r43803 | danieljames | 2008-03-23 06:03:24 -0700 (Sun, 23 Mar 2008) | 1 line
  
  Fix another license link I seem to have missed.
........
  r43804 | fmhess | 2008-03-23 07:51:40 -0700 (Sun, 23 Mar 2008) | 3 lines
  
  Added a little more test code for new enable_shared_from_this behavior.
........
  r43806 | ramey | 2008-03-23 11:36:00 -0700 (Sun, 23 Mar 2008) | 1 line
  
  adjusted header order for export.hpp to see if this will make gcc 4.x tests pass.
........
  r43807 | ramey | 2008-03-23 12:09:51 -0700 (Sun, 23 Mar 2008) | 1 line
  
  made test compile only
........
  r43808 | ramey | 2008-03-23 12:10:31 -0700 (Sun, 23 Mar 2008) | 1 line
  
  made test_static_warning compile only
........
  r43809 | ramey | 2008-03-23 12:18:22 -0700 (Sun, 23 Mar 2008) | 1 line
  
  removed superflous static cast
........

Added:
   branches/proto/v3/boost/archive/detail/polymorphic_iarchive_route.hpp
      - copied unchanged from r43809, /trunk/boost/archive/detail/polymorphic_iarchive_route.hpp
   branches/proto/v3/boost/archive/detail/polymorphic_oarchive_route.hpp
      - copied unchanged from r43809, /trunk/boost/archive/detail/polymorphic_oarchive_route.hpp
   branches/proto/v3/boost/archive/xml_archive_exception.hpp
      - copied unchanged from r43809, /trunk/boost/archive/xml_archive_exception.hpp
   branches/proto/v3/boost/serialization/factory.hpp
      - copied unchanged from r43809, /trunk/boost/serialization/factory.hpp
   branches/proto/v3/boost/serialization/singleton.hpp
      - copied unchanged from r43809, /trunk/boost/serialization/singleton.hpp
   branches/proto/v3/doc/html/mpi.html
      - copied unchanged from r43809, /trunk/doc/html/mpi.html
   branches/proto/v3/libs/gil/doc/insert_boost_licence.sh
      - copied unchanged from r43809, /trunk/libs/gil/doc/insert_boost_licence.sh
   branches/proto/v3/libs/gil/doc/shorten_file_name.sh
      - copied unchanged from r43809, /trunk/libs/gil/doc/shorten_file_name.sh
   branches/proto/v3/libs/serialization/example/Jamfile.v2
      - copied unchanged from r43809, /trunk/libs/serialization/example/Jamfile.v2
   branches/proto/v3/libs/serialization/example/demo_dll.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/example/demo_dll.cpp
   branches/proto/v3/libs/serialization/example/demo_dll_a.hpp
      - copied unchanged from r43809, /trunk/libs/serialization/example/demo_dll_a.hpp
   branches/proto/v3/libs/serialization/example/demo_dll_a.ipp
      - copied unchanged from r43809, /trunk/libs/serialization/example/demo_dll_a.ipp
   branches/proto/v3/libs/serialization/example/demo_dll_b.hpp
      - copied unchanged from r43809, /trunk/libs/serialization/example/demo_dll_b.hpp
   branches/proto/v3/libs/serialization/example/demo_dll_b.ipp
      - copied unchanged from r43809, /trunk/libs/serialization/example/demo_dll_b.ipp
   branches/proto/v3/libs/serialization/example/demo_xml.hpp
      - copied unchanged from r43809, /trunk/libs/serialization/example/demo_xml.hpp
   branches/proto/v3/libs/serialization/example/polymorphic_portable_binary_iarchive.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/example/polymorphic_portable_binary_iarchive.cpp
   branches/proto/v3/libs/serialization/example/polymorphic_portable_binary_iarchive.hpp
      - copied unchanged from r43809, /trunk/libs/serialization/example/polymorphic_portable_binary_iarchive.hpp
   branches/proto/v3/libs/serialization/example/polymorphic_portable_binary_oarchive.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/example/polymorphic_portable_binary_oarchive.cpp
   branches/proto/v3/libs/serialization/example/polymorphic_portable_binary_oarchive.hpp
      - copied unchanged from r43809, /trunk/libs/serialization/example/polymorphic_portable_binary_oarchive.hpp
   branches/proto/v3/libs/serialization/example/portable_binary_archive.hpp
      - copied unchanged from r43809, /trunk/libs/serialization/example/portable_binary_archive.hpp
   branches/proto/v3/libs/serialization/example/portable_binary_iarchive.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/example/portable_binary_iarchive.cpp
   branches/proto/v3/libs/serialization/example/portable_binary_oarchive.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/example/portable_binary_oarchive.cpp
   branches/proto/v3/libs/serialization/test/A.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/A.cpp
   branches/proto/v3/libs/serialization/test/A.ipp
      - copied unchanged from r43809, /trunk/libs/serialization/test/A.ipp
   branches/proto/v3/libs/serialization/test/base.hpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/base.hpp
   branches/proto/v3/libs/serialization/test/derived2.hpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/derived2.hpp
   branches/proto/v3/libs/serialization/test/dll_a.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/dll_a.cpp
   branches/proto/v3/libs/serialization/test/dll_base.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/dll_base.cpp
   branches/proto/v3/libs/serialization/test/dll_derived2.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/dll_derived2.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_warn1.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_const_save_warn1.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_warn1_nvp.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_const_save_warn1_nvp.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_warn2.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_const_save_warn2.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_warn2_nvp.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_const_save_warn2_nvp.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_warn3.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_const_save_warn3.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_warn3_nvp.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_const_save_warn3_nvp.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_warn4.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_const_save_warn4.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_warn4_nvp.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_const_save_warn4_nvp.cpp
   branches/proto/v3/libs/serialization/test/test_decl.hpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_decl.hpp
   branches/proto/v3/libs/serialization/test/test_dll_exported.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_dll_exported.cpp
   branches/proto/v3/libs/serialization/test/test_dll_plugin.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_dll_plugin.cpp
   branches/proto/v3/libs/serialization/test/test_dll_simple.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_dll_simple.cpp
   branches/proto/v3/libs/serialization/test/test_singleton.cpp
      - copied unchanged from r43809, /trunk/libs/serialization/test/test_singleton.cpp
   branches/proto/v3/libs/serialization/util/
      - copied from r43809, /trunk/libs/serialization/util/
   branches/proto/v3/libs/serialization/util/test.jam
      - copied unchanged from r43809, /trunk/libs/serialization/util/test.jam
   branches/proto/v3/libs/smart_ptr/test/esft_constructor_test.cpp
      - copied unchanged from r43809, /trunk/libs/smart_ptr/test/esft_constructor_test.cpp
   branches/proto/v3/libs/smart_ptr/test/esft_regtest.cpp
      - copied unchanged from r43809, /trunk/libs/smart_ptr/test/esft_regtest.cpp
Removed:
   branches/proto/v3/boost/archive/detail/dynamically_initialized.hpp
   branches/proto/v3/boost/archive/detail/polymorphic_iarchive_dispatch.hpp
   branches/proto/v3/boost/archive/detail/polymorphic_oarchive_dispatch.hpp
   branches/proto/v3/libs/filesystem/example/vc++.bat
   branches/proto/v3/libs/serialization/borland6ide/
   branches/proto/v3/libs/serialization/build/serialization.jam
   branches/proto/v3/libs/serialization/test/run_archive_test.bat
   branches/proto/v3/libs/serialization/test/run_archive_test.ksh
   branches/proto/v3/libs/serialization/test/runtest.bat
   branches/proto/v3/libs/serialization/test/runtest.ksh
   branches/proto/v3/libs/serialization/test/runtest.sh
   branches/proto/v3/libs/serialization/test/test_const_save_fail1.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_fail1_nvp.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_fail2.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_fail2_nvp.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_fail3.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_fail3_nvp.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_fail4.cpp
   branches/proto/v3/libs/serialization/test/test_const_save_fail4_nvp.cpp
   branches/proto/v3/libs/serialization/test/test_demo.cpp
   branches/proto/v3/libs/serialization/test/test_demo_auto_ptr.cpp
   branches/proto/v3/libs/serialization/test/test_demo_exception.cpp
   branches/proto/v3/libs/serialization/test/test_demo_fast_archive.cpp
   branches/proto/v3/libs/serialization/test/test_demo_pimpl.cpp
   branches/proto/v3/libs/serialization/test/test_demo_polymorphic.cpp
   branches/proto/v3/libs/serialization/test/test_demo_portable_archive.cpp
   branches/proto/v3/libs/serialization/test/test_demo_shared_ptr.cpp
   branches/proto/v3/libs/serialization/test/test_demo_xml.cpp
   branches/proto/v3/libs/serialization/test/test_demo_xml_load.cpp
   branches/proto/v3/libs/serialization/test/test_demo_xml_save.cpp
   branches/proto/v3/libs/serialization/vc6ide/
   branches/proto/v3/libs/serialization/vc7ide/BoostSerializationLibrary.suo
Properties modified:
   branches/proto/v3/ (props changed)
   branches/proto/v3/boost/accumulators/accumulators.hpp (props changed)
   branches/proto/v3/boost/accumulators/accumulators_fwd.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/accumulator_base.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/accumulator_concept.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/accumulator_set.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/accumulators/droppable_accumulator.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/accumulators/external_accumulator.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/accumulators/reference_accumulator.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/accumulators/value_accumulator.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/depends_on.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/external.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/extractor.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/features.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/parameters/accumulator.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/parameters/sample.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/parameters/weight.hpp (props changed)
   branches/proto/v3/boost/accumulators/framework/parameters/weights.hpp (props changed)
   branches/proto/v3/boost/accumulators/numeric/detail/function1.hpp (props changed)
   branches/proto/v3/boost/accumulators/numeric/detail/function2.hpp (props changed)
   branches/proto/v3/boost/accumulators/numeric/detail/function3.hpp (props changed)
   branches/proto/v3/boost/accumulators/numeric/detail/function4.hpp (props changed)
   branches/proto/v3/boost/accumulators/numeric/detail/function_n.hpp (props changed)
   branches/proto/v3/boost/accumulators/numeric/detail/pod_singleton.hpp (props changed)
   branches/proto/v3/boost/accumulators/numeric/functional.hpp (props changed)
   branches/proto/v3/boost/accumulators/numeric/functional/complex.hpp (props changed)
   branches/proto/v3/boost/accumulators/numeric/functional/valarray.hpp (props changed)
   branches/proto/v3/boost/accumulators/numeric/functional/vector.hpp (props changed)
   branches/proto/v3/boost/accumulators/numeric/functional_fwd.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/count.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/covariance.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/density.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/error_of.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/error_of_mean.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/extended_p_square.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/extended_p_square_quantile.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/kurtosis.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/max.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/mean.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/median.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/min.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/moment.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/p_square_cumulative_distribution.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/p_square_quantile.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/parameters/quantile_probability.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/peaks_over_threshold.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/pot_quantile.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/pot_tail_mean.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/skewness.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/stats.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/sum.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/tail.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/tail_mean.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/tail_quantile.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/tail_variate.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/tail_variate_means.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/times2_iterator.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/variance.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/variates/covariate.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_covariance.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_density.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_extended_p_square.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_kurtosis.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_mean.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_median.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_moment.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_p_square_quantile.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_peaks_over_threshold.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_skewness.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_sum.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_tail_mean.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_tail_quantile.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_tail_variate_means.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/weighted_variance.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics/with_error.hpp (props changed)
   branches/proto/v3/boost/accumulators/statistics_fwd.hpp (props changed)
   branches/proto/v3/boost/archive/detail/register_archive.hpp (contents, props changed)
   branches/proto/v3/boost/assign.hpp (props changed)
   branches/proto/v3/boost/assign/assignment_exception.hpp (props changed)
   branches/proto/v3/boost/assign/list_inserter.hpp (props changed)
   branches/proto/v3/boost/assign/list_of.hpp (props changed)
   branches/proto/v3/boost/assign/ptr_list_inserter.hpp (props changed)
   branches/proto/v3/boost/assign/ptr_list_of.hpp (props changed)
   branches/proto/v3/boost/assign/ptr_map_inserter.hpp (props changed)
   branches/proto/v3/boost/assign/std.hpp (props changed)
   branches/proto/v3/boost/assign/std/deque.hpp (props changed)
   branches/proto/v3/boost/assign/std/list.hpp (props changed)
   branches/proto/v3/boost/assign/std/map.hpp (props changed)
   branches/proto/v3/boost/assign/std/queue.hpp (props changed)
   branches/proto/v3/boost/assign/std/set.hpp (props changed)
   branches/proto/v3/boost/assign/std/slist.hpp (props changed)
   branches/proto/v3/boost/assign/std/stack.hpp (props changed)
   branches/proto/v3/boost/assign/std/vector.hpp (props changed)
   branches/proto/v3/boost/bimap/bimap.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/associative_container_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/container_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/detail/functor_bag.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/detail/identity_converters.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/detail/key_extractor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/list_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/list_map_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/map_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/multimap_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/multiset_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/sequence_container_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/set_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/unordered_map_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/unordered_set_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/vector_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/container_adaptor/vector_map_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/bimap_core.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/concept_tags.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/debug/static_error.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/generate_index_binder.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/generate_relation_binder.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/generate_view_binder.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/is_set_type_of.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/manage_additional_parameters.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/manage_bimap_key.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/map_view_base.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/map_view_iterator.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/modifier_adaptor.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/non_unique_views_helper.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/set_view_base.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/set_view_iterator.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/test/check_metadata.hpp (props changed)
   branches/proto/v3/boost/bimap/detail/user_interface_config.hpp (props changed)
   branches/proto/v3/boost/bimap/list_of.hpp (props changed)
   branches/proto/v3/boost/bimap/multiset_of.hpp (props changed)
   branches/proto/v3/boost/bimap/property_map/set_support.hpp (props changed)
   branches/proto/v3/boost/bimap/property_map/unordered_set_support.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/detail/access_builder.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/detail/metadata_access_builder.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/detail/mutant.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/detail/static_access_builder.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/detail/to_mutable_relation_functor.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/member_at.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/mutant_relation.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/pair_layout.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/structured_pair.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/support/data_extractor.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/support/get.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/support/get_pair_functor.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/support/is_tag_of_member_at.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/support/member_with_tag.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/support/opposite_tag.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/support/pair_by.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/support/pair_type_by.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/support/value_type_of.hpp (props changed)
   branches/proto/v3/boost/bimap/relation/symmetrical_base.hpp (props changed)
   branches/proto/v3/boost/bimap/set_of.hpp (props changed)
   branches/proto/v3/boost/bimap/support/data_type_by.hpp (props changed)
   branches/proto/v3/boost/bimap/support/iterator_type_by.hpp (props changed)
   branches/proto/v3/boost/bimap/support/key_type_by.hpp (props changed)
   branches/proto/v3/boost/bimap/support/lambda.hpp (props changed)
   branches/proto/v3/boost/bimap/support/map_by.hpp (props changed)
   branches/proto/v3/boost/bimap/support/map_type_by.hpp (props changed)
   branches/proto/v3/boost/bimap/support/value_type_by.hpp (props changed)
   branches/proto/v3/boost/bimap/tags/support/apply_to_value_type.hpp (props changed)
   branches/proto/v3/boost/bimap/tags/support/default_tagged.hpp (props changed)
   branches/proto/v3/boost/bimap/tags/support/is_tagged.hpp (props changed)
   branches/proto/v3/boost/bimap/tags/support/overwrite_tagged.hpp (props changed)
   branches/proto/v3/boost/bimap/tags/support/tag_of.hpp (props changed)
   branches/proto/v3/boost/bimap/tags/support/value_type_of.hpp (props changed)
   branches/proto/v3/boost/bimap/tags/tagged.hpp (props changed)
   branches/proto/v3/boost/bimap/unconstrained_set_of.hpp (props changed)
   branches/proto/v3/boost/bimap/unordered_multiset_of.hpp (props changed)
   branches/proto/v3/boost/bimap/unordered_set_of.hpp (props changed)
   branches/proto/v3/boost/bimap/vector_of.hpp (props changed)
   branches/proto/v3/boost/bimap/views/list_map_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/list_set_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/map_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/multimap_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/multiset_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/set_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/unconstrained_map_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/unconstrained_set_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/unordered_map_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/unordered_multimap_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/unordered_multiset_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/unordered_set_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/vector_map_view.hpp (props changed)
   branches/proto/v3/boost/bimap/views/vector_set_view.hpp (props changed)
   branches/proto/v3/boost/concept/assert.hpp (props changed)
   branches/proto/v3/boost/concept/detail/borland.hpp (props changed)
   branches/proto/v3/boost/concept/detail/concept_def.hpp (props changed)
   branches/proto/v3/boost/concept/detail/concept_undef.hpp (props changed)
   branches/proto/v3/boost/concept/detail/general.hpp (props changed)
   branches/proto/v3/boost/concept/detail/has_constraints.hpp (props changed)
   branches/proto/v3/boost/concept/detail/msvc.hpp (props changed)
   branches/proto/v3/boost/concept/requires.hpp (props changed)
   branches/proto/v3/boost/concept/usage.hpp (props changed)
   branches/proto/v3/boost/concept_check/borland.hpp (props changed)
   branches/proto/v3/boost/concept_check/general.hpp (props changed)
   branches/proto/v3/boost/concept_check/has_constraints.hpp (props changed)
   branches/proto/v3/boost/concept_check/msvc.hpp (props changed)
   branches/proto/v3/boost/detail/indirect_traits.hpp (props changed)
   branches/proto/v3/boost/detail/is_function_ref_tester.hpp (props changed)
   branches/proto/v3/boost/detail/is_incrementable.hpp (props changed)
   branches/proto/v3/boost/detail/is_xxx.hpp (props changed)
   branches/proto/v3/boost/foreach.hpp (props changed)
   branches/proto/v3/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp (props changed)
   branches/proto/v3/boost/fusion/algorithm/query/ext_/find_if_s.hpp (props changed)
   branches/proto/v3/boost/fusion/container/ext_/tree.hpp (props changed)
   branches/proto/v3/boost/fusion/sequence/intrinsic/ext_/segments.hpp (props changed)
   branches/proto/v3/boost/fusion/sequence/intrinsic/ext_/size_s.hpp (props changed)
   branches/proto/v3/boost/fusion/support/ext_/is_segmented.hpp (props changed)
   branches/proto/v3/boost/fusion/view/ext_/multiple_view.hpp (props changed)
   branches/proto/v3/boost/fusion/view/ext_/segmented_iterator.hpp (props changed)
   branches/proto/v3/boost/fusion/view/ext_/segmented_iterator_range.hpp (props changed)
   branches/proto/v3/boost/graph/max_cardinality_matching.hpp (props changed)
   branches/proto/v3/boost/graph/profile.hpp (props changed)
   branches/proto/v3/boost/graph/sloan_ordering.hpp (props changed)
   branches/proto/v3/boost/graph/wavefront.hpp (props changed)
   branches/proto/v3/boost/implicit_cast.hpp (props changed)
   branches/proto/v3/boost/indirect_reference.hpp (props changed)
   branches/proto/v3/boost/iostreams/categories.hpp (props changed)
   branches/proto/v3/boost/iostreams/chain.hpp (props changed)
   branches/proto/v3/boost/iostreams/char_traits.hpp (props changed)
   branches/proto/v3/boost/iostreams/checked_operations.hpp (props changed)
   branches/proto/v3/boost/iostreams/close.hpp (props changed)
   branches/proto/v3/boost/iostreams/code_converter.hpp (props changed)
   branches/proto/v3/boost/iostreams/combine.hpp (props changed)
   branches/proto/v3/boost/iostreams/compose.hpp (props changed)
   branches/proto/v3/boost/iostreams/concepts.hpp (props changed)
   branches/proto/v3/boost/iostreams/constants.hpp (props changed)
   branches/proto/v3/boost/iostreams/copy.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/absolute_path.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/access_control.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/adapter/concept_adapter.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/adapter/device_adapter.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/adapter/direct_adapter.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/adapter/filter_adapter.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/adapter/mode_adapter.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/adapter/non_blocking_adapter.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/adapter/output_iterator_adapter.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/adapter/range_adapter.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/add_facet.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/bool_trait_def.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/broken_overload_resolution/forward.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/broken_overload_resolution/stream.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/broken_overload_resolution/stream_buffer.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/buffer.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/call_traits.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/char_traits.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/codecvt_helper.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/codecvt_holder.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/auto_link.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/bzip2.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/codecvt.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/disable_warnings.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/dyn_link.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/enable_warnings.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/gcc.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/limits.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/overload_resolution.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/rtl.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/wide_streams.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/windows_posix.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/config/zlib.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/counted_array.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/current_directory.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/default_arg.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/dispatch.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/double_object.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/enable_if_stream.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/error.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/execute.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/forward.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/fstream.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/functional.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/ios.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/iostream.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/is_dereferenceable.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/is_iterator_range.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/newline.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/optional.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/param_type.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/push.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/push_params.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/resolve.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/select.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/select_by_size.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/streambuf.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/streambuf/chainbuf.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/streambuf/direct_streambuf.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/streambuf/indirect_streambuf.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/streambuf/linked_streambuf.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/system_failure.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/template_params.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/translate_int_type.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/vc6/close.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/vc6/read.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/vc6/write.hpp (props changed)
   branches/proto/v3/boost/iostreams/detail/wrap_unwrap.hpp (props changed)
   branches/proto/v3/boost/iostreams/device/array.hpp (props changed)
   branches/proto/v3/boost/iostreams/device/back_inserter.hpp (props changed)
   branches/proto/v3/boost/iostreams/device/file.hpp (props changed)
   branches/proto/v3/boost/iostreams/device/file_descriptor.hpp (props changed)
   branches/proto/v3/boost/iostreams/device/mapped_file.hpp (props changed)
   branches/proto/v3/boost/iostreams/device/null.hpp (props changed)
   branches/proto/v3/boost/iostreams/filter/aggregate.hpp (props changed)
   branches/proto/v3/boost/iostreams/filter/bzip2.hpp (props changed)
   branches/proto/v3/boost/iostreams/filter/counter.hpp (props changed)
   branches/proto/v3/boost/iostreams/filter/gzip.hpp (props changed)
   branches/proto/v3/boost/iostreams/filter/line.hpp (props changed)
   branches/proto/v3/boost/iostreams/filter/newline.hpp (props changed)
   branches/proto/v3/boost/iostreams/filter/regex.hpp (props changed)
   branches/proto/v3/boost/iostreams/filter/stdio.hpp (props changed)
   branches/proto/v3/boost/iostreams/filter/symmetric.hpp (props changed)
   branches/proto/v3/boost/iostreams/filter/test.hpp (props changed)
   branches/proto/v3/boost/iostreams/filter/zlib.hpp (props changed)
   branches/proto/v3/boost/iostreams/filtering_stream.hpp (props changed)
   branches/proto/v3/boost/iostreams/filtering_streambuf.hpp (props changed)
   branches/proto/v3/boost/iostreams/flush.hpp (props changed)
   branches/proto/v3/boost/iostreams/get.hpp (props changed)
   branches/proto/v3/boost/iostreams/imbue.hpp (props changed)
   branches/proto/v3/boost/iostreams/input_sequence.hpp (props changed)
   branches/proto/v3/boost/iostreams/invert.hpp (props changed)
   branches/proto/v3/boost/iostreams/operations.hpp (props changed)
   branches/proto/v3/boost/iostreams/operations_fwd.hpp (props changed)
   branches/proto/v3/boost/iostreams/optimal_buffer_size.hpp (props changed)
   branches/proto/v3/boost/iostreams/output_sequence.hpp (props changed)
   branches/proto/v3/boost/iostreams/pipeline.hpp (props changed)
   branches/proto/v3/boost/iostreams/positioning.hpp (props changed)
   branches/proto/v3/boost/iostreams/put.hpp (props changed)
   branches/proto/v3/boost/iostreams/putback.hpp (props changed)
   branches/proto/v3/boost/iostreams/read.hpp (props changed)
   branches/proto/v3/boost/iostreams/restrict.hpp (props changed)
   branches/proto/v3/boost/iostreams/seek.hpp (props changed)
   branches/proto/v3/boost/iostreams/skip.hpp (props changed)
   branches/proto/v3/boost/iostreams/stream.hpp (props changed)
   branches/proto/v3/boost/iostreams/stream_buffer.hpp (props changed)
   branches/proto/v3/boost/iostreams/tee.hpp (props changed)
   branches/proto/v3/boost/iostreams/traits.hpp (props changed)
   branches/proto/v3/boost/iostreams/traits_fwd.hpp (props changed)
   branches/proto/v3/boost/iostreams/write.hpp (props changed)
   branches/proto/v3/boost/iterator/detail/any_conversion_eater.hpp (props changed)
   branches/proto/v3/boost/iterator/detail/facade_iterator_category.hpp (props changed)
   branches/proto/v3/boost/iterator/detail/minimum_category.hpp (props changed)
   branches/proto/v3/boost/iterator/is_lvalue_iterator.hpp (props changed)
   branches/proto/v3/boost/iterator/is_readable_iterator.hpp (props changed)
   branches/proto/v3/boost/iterator/zip_iterator.hpp (props changed)
   branches/proto/v3/boost/mpl/eval_if.hpp (props changed)
   branches/proto/v3/boost/mpl/map/aux_/value_type_impl.hpp (props changed)
   branches/proto/v3/boost/mpl/min_element.hpp (props changed)
   branches/proto/v3/boost/mpl/print.hpp (props changed)
   branches/proto/v3/boost/mpl/set/aux_/value_type_impl.hpp (props changed)
   branches/proto/v3/boost/mpl/value_type.hpp (props changed)
   branches/proto/v3/boost/mpl/value_type_fwd.hpp (props changed)
   branches/proto/v3/boost/numeric/conversion/detail/old_numeric_cast.hpp (props changed)
   branches/proto/v3/boost/parameter.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/arg_list.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/cast.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/default.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/maybe.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/overloads.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/parameter_requirements.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/parenthesized_type.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/preprocessor/flatten.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/preprocessor/for_each.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/python/invoker.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/python/invoker_iterate.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/result_of0.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/set.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/tag.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/tagged_argument.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/template_keyword.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/unwrap_cv_reference.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/void.hpp (props changed)
   branches/proto/v3/boost/parameter/aux_/yesno.hpp (props changed)
   branches/proto/v3/boost/parameter/binding.hpp (props changed)
   branches/proto/v3/boost/parameter/config.hpp (props changed)
   branches/proto/v3/boost/parameter/keyword.hpp (props changed)
   branches/proto/v3/boost/parameter/macros.hpp (props changed)
   branches/proto/v3/boost/parameter/match.hpp (props changed)
   branches/proto/v3/boost/parameter/name.hpp (props changed)
   branches/proto/v3/boost/parameter/parameters.hpp (props changed)
   branches/proto/v3/boost/parameter/preprocessor.hpp (props changed)
   branches/proto/v3/boost/parameter/python.hpp (props changed)
   branches/proto/v3/boost/parameter/value_type.hpp (props changed)
   branches/proto/v3/boost/pointee.hpp (props changed)
   branches/proto/v3/boost/ptr_container/clone_allocator.hpp (props changed)
   branches/proto/v3/boost/ptr_container/detail/associative_ptr_container.hpp (props changed)
   branches/proto/v3/boost/ptr_container/detail/default_deleter.hpp (props changed)
   branches/proto/v3/boost/ptr_container/detail/is_convertible.hpp (props changed)
   branches/proto/v3/boost/ptr_container/detail/map_iterator.hpp (props changed)
   branches/proto/v3/boost/ptr_container/detail/move.hpp (props changed)
   branches/proto/v3/boost/ptr_container/detail/reversible_ptr_container.hpp (props changed)
   branches/proto/v3/boost/ptr_container/detail/scoped_deleter.hpp (props changed)
   branches/proto/v3/boost/ptr_container/detail/static_move_ptr.hpp (props changed)
   branches/proto/v3/boost/ptr_container/detail/throw_exception.hpp (props changed)
   branches/proto/v3/boost/ptr_container/detail/void_ptr_iterator.hpp (props changed)
   branches/proto/v3/boost/ptr_container/exception.hpp (props changed)
   branches/proto/v3/boost/ptr_container/indirect_fun.hpp (props changed)
   branches/proto/v3/boost/ptr_container/nullable.hpp (props changed)
   branches/proto/v3/boost/ptr_container/ptr_array.hpp (props changed)
   branches/proto/v3/boost/ptr_container/ptr_container.hpp (props changed)
   branches/proto/v3/boost/ptr_container/ptr_deque.hpp (props changed)
   branches/proto/v3/boost/ptr_container/ptr_list.hpp (props changed)
   branches/proto/v3/boost/ptr_container/ptr_map.hpp (props changed)
   branches/proto/v3/boost/ptr_container/ptr_map_adapter.hpp (props changed)
   branches/proto/v3/boost/ptr_container/ptr_sequence_adapter.hpp (props changed)
   branches/proto/v3/boost/ptr_container/ptr_set.hpp (props changed)
   branches/proto/v3/boost/ptr_container/ptr_set_adapter.hpp (props changed)
   branches/proto/v3/boost/ptr_container/ptr_vector.hpp (props changed)
   branches/proto/v3/boost/python/arg_from_python.hpp (props changed)
   branches/proto/v3/boost/python/base_type_traits.hpp (props changed)
   branches/proto/v3/boost/python/borrowed.hpp (props changed)
   branches/proto/v3/boost/python/cast.hpp (props changed)
   branches/proto/v3/boost/python/converter/arg_from_python.hpp (props changed)
   branches/proto/v3/boost/python/converter/arg_to_python.hpp (props changed)
   branches/proto/v3/boost/python/converter/arg_to_python_base.hpp (props changed)
   branches/proto/v3/boost/python/converter/context_result_converter.hpp (props changed)
   branches/proto/v3/boost/python/converter/object_manager.hpp (props changed)
   branches/proto/v3/boost/python/converter/pytype_function.hpp (props changed)
   branches/proto/v3/boost/python/converter/return_from_python.hpp (props changed)
   branches/proto/v3/boost/python/def_visitor.hpp (props changed)
   branches/proto/v3/boost/python/detail/borrowed_ptr.hpp (props changed)
   branches/proto/v3/boost/python/detail/convertible.hpp (props changed)
   branches/proto/v3/boost/python/detail/copy_ctor_mutates_rhs.hpp (props changed)
   branches/proto/v3/boost/python/detail/decorated_type_id.hpp (props changed)
   branches/proto/v3/boost/python/detail/def_helper_fwd.hpp (props changed)
   branches/proto/v3/boost/python/detail/enable_if.hpp (props changed)
   branches/proto/v3/boost/python/detail/force_instantiate.hpp (props changed)
   branches/proto/v3/boost/python/detail/is_shared_ptr.hpp (props changed)
   branches/proto/v3/boost/python/detail/is_wrapper.hpp (props changed)
   branches/proto/v3/boost/python/detail/nullary_function_adaptor.hpp (props changed)
   branches/proto/v3/boost/python/detail/operator_id.hpp (props changed)
   branches/proto/v3/boost/python/detail/prefix.hpp (props changed)
   branches/proto/v3/boost/python/detail/python_type.hpp (props changed)
   branches/proto/v3/boost/python/detail/result.hpp (props changed)
   branches/proto/v3/boost/python/detail/sfinae.hpp (props changed)
   branches/proto/v3/boost/python/detail/unwind_type.hpp (props changed)
   branches/proto/v3/boost/python/detail/unwrap_type_id.hpp (props changed)
   branches/proto/v3/boost/python/detail/unwrap_wrapper.hpp (props changed)
   branches/proto/v3/boost/python/detail/value_arg.hpp (props changed)
   branches/proto/v3/boost/python/detail/wrapper_base.hpp (props changed)
   branches/proto/v3/boost/python/docstring_options.hpp (props changed)
   branches/proto/v3/boost/python/handle.hpp (props changed)
   branches/proto/v3/boost/python/handle_fwd.hpp (props changed)
   branches/proto/v3/boost/python/instance_holder.hpp (props changed)
   branches/proto/v3/boost/python/lvalue_from_pytype.hpp (props changed)
   branches/proto/v3/boost/python/make_constructor.hpp (props changed)
   branches/proto/v3/boost/python/object.hpp (props changed)
   branches/proto/v3/boost/python/object/class_metadata.hpp (props changed)
   branches/proto/v3/boost/python/object/function_doc_signature.hpp (props changed)
   branches/proto/v3/boost/python/object/inheritance_query.hpp (props changed)
   branches/proto/v3/boost/python/object/stl_iterator_core.hpp (props changed)
   branches/proto/v3/boost/python/object_attributes.hpp (props changed)
   branches/proto/v3/boost/python/object_core.hpp (props changed)
   branches/proto/v3/boost/python/object_items.hpp (props changed)
   branches/proto/v3/boost/python/object_protocol.hpp (props changed)
   branches/proto/v3/boost/python/object_protocol_core.hpp (props changed)
   branches/proto/v3/boost/python/other.hpp (props changed)
   branches/proto/v3/boost/python/override.hpp (props changed)
   branches/proto/v3/boost/python/proxy.hpp (props changed)
   branches/proto/v3/boost/python/pure_virtual.hpp (props changed)
   branches/proto/v3/boost/python/raw_function.hpp (props changed)
   branches/proto/v3/boost/python/refcount.hpp (props changed)
   branches/proto/v3/boost/python/return_arg.hpp (props changed)
   branches/proto/v3/boost/python/self.hpp (props changed)
   branches/proto/v3/boost/python/stl_iterator.hpp (props changed)
   branches/proto/v3/boost/python/type_id.hpp (props changed)
   branches/proto/v3/boost/python/wrapper.hpp (props changed)
   branches/proto/v3/boost/range.hpp (props changed)
   branches/proto/v3/boost/range/as_array.hpp (props changed)
   branches/proto/v3/boost/range/as_literal.hpp (props changed)
   branches/proto/v3/boost/range/begin.hpp (props changed)
   branches/proto/v3/boost/range/category.hpp (props changed)
   branches/proto/v3/boost/range/concepts.hpp (props changed)
   branches/proto/v3/boost/range/config.hpp (props changed)
   branches/proto/v3/boost/range/const_iterator.hpp (props changed)
   branches/proto/v3/boost/range/const_reverse_iterator.hpp (props changed)
   branches/proto/v3/boost/range/detail/as_literal.hpp (props changed)
   branches/proto/v3/boost/range/detail/begin.hpp (props changed)
   branches/proto/v3/boost/range/detail/collection_traits.hpp (props changed)
   branches/proto/v3/boost/range/detail/collection_traits_detail.hpp (props changed)
   branches/proto/v3/boost/range/detail/common.hpp (props changed)
   branches/proto/v3/boost/range/detail/const_iterator.hpp (props changed)
   branches/proto/v3/boost/range/detail/detail_str.hpp (props changed)
   branches/proto/v3/boost/range/detail/difference_type.hpp (props changed)
   branches/proto/v3/boost/range/detail/empty.hpp (props changed)
   branches/proto/v3/boost/range/detail/end.hpp (props changed)
   branches/proto/v3/boost/range/detail/implementation_help.hpp (props changed)
   branches/proto/v3/boost/range/detail/iterator.hpp (props changed)
   branches/proto/v3/boost/range/detail/remove_extent.hpp (props changed)
   branches/proto/v3/boost/range/detail/sfinae.hpp (props changed)
   branches/proto/v3/boost/range/detail/size.hpp (props changed)
   branches/proto/v3/boost/range/detail/size_type.hpp (props changed)
   branches/proto/v3/boost/range/detail/sizer.hpp (props changed)
   branches/proto/v3/boost/range/detail/str_types.hpp (props changed)
   branches/proto/v3/boost/range/detail/value_type.hpp (props changed)
   branches/proto/v3/boost/range/detail/vc6/end.hpp (props changed)
   branches/proto/v3/boost/range/detail/vc6/size.hpp (props changed)
   branches/proto/v3/boost/range/difference_type.hpp (props changed)
   branches/proto/v3/boost/range/distance.hpp (props changed)
   branches/proto/v3/boost/range/empty.hpp (props changed)
   branches/proto/v3/boost/range/end.hpp (props changed)
   branches/proto/v3/boost/range/functions.hpp (props changed)
   branches/proto/v3/boost/range/iterator.hpp (props changed)
   branches/proto/v3/boost/range/iterator_range.hpp (props changed)
   branches/proto/v3/boost/range/metafunctions.hpp (props changed)
   branches/proto/v3/boost/range/mutable_iterator.hpp (props changed)
   branches/proto/v3/boost/range/pointer.hpp (props changed)
   branches/proto/v3/boost/range/rbegin.hpp (props changed)
   branches/proto/v3/boost/range/reference.hpp (props changed)
   branches/proto/v3/boost/range/rend.hpp (props changed)
   branches/proto/v3/boost/range/result_iterator.hpp (props changed)
   branches/proto/v3/boost/range/reverse_iterator.hpp (props changed)
   branches/proto/v3/boost/range/reverse_result_iterator.hpp (props changed)
   branches/proto/v3/boost/range/size.hpp (props changed)
   branches/proto/v3/boost/range/size_type.hpp (props changed)
   branches/proto/v3/boost/range/sub_range.hpp (props changed)
   branches/proto/v3/boost/range/value_type.hpp (props changed)
   branches/proto/v3/boost/test/unit_test_log_formatter.hpp (props changed)
   branches/proto/v3/boost/test/utils/assign_op.hpp (props changed)
   branches/proto/v3/boost/test/utils/named_params.hpp (props changed)
   branches/proto/v3/boost/test/utils/rtti.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/argument.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/argument_factory.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/argv_traverser.cpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/argv_traverser.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/argv_traverser.ipp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/basic_parameter.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/char_parameter.cpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/char_parameter.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/char_parameter.ipp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/detail/argument_value_usage.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/dual_name_parameter.cpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/dual_name_parameter.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/dual_name_parameter.ipp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/fwd.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/id_policy.cpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/id_policy.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/id_policy.ipp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/iface/argument_factory.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/iface/id_policy.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/modifier.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/named_parameter.cpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/named_parameter.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/named_parameter.ipp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/parameter.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/parser.cpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/parser.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/parser.ipp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/positional_parameter.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/typed_parameter.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/validation.cpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/validation.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/validation.ipp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/value_generator.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/cla/value_handler.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/config.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/configuration.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/env/environment.cpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/env/environment.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/env/environment.ipp (props changed)
   branches/proto/v3/boost/test/utils/runtime/env/fwd.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/env/modifier.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/env/variable.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/file/config_file.cpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/file/config_file.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/file/config_file_iterator.cpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/file/config_file_iterator.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/fwd.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/interpret_argument_value.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/parameter.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/trace.hpp (props changed)
   branches/proto/v3/boost/test/utils/runtime/validation.hpp (props changed)
   branches/proto/v3/boost/type_traits/aligned_storage.hpp (props changed)
   branches/proto/v3/boost/type_traits/decay.hpp (props changed)
   branches/proto/v3/boost/type_traits/extent.hpp (props changed)
   branches/proto/v3/boost/type_traits/has_virtual_destructor.hpp (props changed)
   branches/proto/v3/boost/type_traits/integral_constant.hpp (props changed)
   branches/proto/v3/boost/type_traits/is_abstract.hpp (props changed)
   branches/proto/v3/boost/type_traits/is_base_of.hpp (props changed)
   branches/proto/v3/boost/type_traits/is_floating_point.hpp (props changed)
   branches/proto/v3/boost/type_traits/is_member_object_pointer.hpp (props changed)
   branches/proto/v3/boost/type_traits/is_signed.hpp (props changed)
   branches/proto/v3/boost/type_traits/is_unsigned.hpp (props changed)
   branches/proto/v3/boost/type_traits/rank.hpp (props changed)
   branches/proto/v3/boost/type_traits/remove_all_extents.hpp (props changed)
   branches/proto/v3/boost/type_traits/remove_extent.hpp (props changed)
   branches/proto/v3/boost/typeof/dmc/typeof_impl.hpp (props changed)
   branches/proto/v3/boost/typeof/encode_decode.hpp (props changed)
   branches/proto/v3/boost/typeof/encode_decode_params.hpp (props changed)
   branches/proto/v3/boost/typeof/incr_registration_group.hpp (props changed)
   branches/proto/v3/boost/typeof/int_encoding.hpp (props changed)
   branches/proto/v3/boost/typeof/integral_template_param.hpp (props changed)
   branches/proto/v3/boost/typeof/message.hpp (props changed)
   branches/proto/v3/boost/typeof/modifiers.hpp (props changed)
   branches/proto/v3/boost/typeof/msvc/typeof_impl.hpp (props changed)
   branches/proto/v3/boost/typeof/native.hpp (props changed)
   branches/proto/v3/boost/typeof/pointers_data_members.hpp (props changed)
   branches/proto/v3/boost/typeof/register_functions.hpp (props changed)
   branches/proto/v3/boost/typeof/register_functions_iterate.hpp (props changed)
   branches/proto/v3/boost/typeof/register_fundamental.hpp (props changed)
   branches/proto/v3/boost/typeof/register_mem_functions.hpp (props changed)
   branches/proto/v3/boost/typeof/std/bitset.hpp (props changed)
   branches/proto/v3/boost/typeof/std/complex.hpp (props changed)
   branches/proto/v3/boost/typeof/std/deque.hpp (props changed)
   branches/proto/v3/boost/typeof/std/fstream.hpp (props changed)
   branches/proto/v3/boost/typeof/std/functional.hpp (props changed)
   branches/proto/v3/boost/typeof/std/iostream.hpp (props changed)
   branches/proto/v3/boost/typeof/std/istream.hpp (props changed)
   branches/proto/v3/boost/typeof/std/iterator.hpp (props changed)
   branches/proto/v3/boost/typeof/std/list.hpp (props changed)
   branches/proto/v3/boost/typeof/std/locale.hpp (props changed)
   branches/proto/v3/boost/typeof/std/map.hpp (props changed)
   branches/proto/v3/boost/typeof/std/memory.hpp (props changed)
   branches/proto/v3/boost/typeof/std/ostream.hpp (props changed)
   branches/proto/v3/boost/typeof/std/queue.hpp (props changed)
   branches/proto/v3/boost/typeof/std/set.hpp (props changed)
   branches/proto/v3/boost/typeof/std/sstream.hpp (props changed)
   branches/proto/v3/boost/typeof/std/stack.hpp (props changed)
   branches/proto/v3/boost/typeof/std/streambuf.hpp (props changed)
   branches/proto/v3/boost/typeof/std/string.hpp (props changed)
   branches/proto/v3/boost/typeof/std/utility.hpp (props changed)
   branches/proto/v3/boost/typeof/std/valarray.hpp (props changed)
   branches/proto/v3/boost/typeof/std/vector.hpp (props changed)
   branches/proto/v3/boost/typeof/template_encoding.hpp (props changed)
   branches/proto/v3/boost/typeof/template_template_param.hpp (props changed)
   branches/proto/v3/boost/typeof/type_encoding.hpp (props changed)
   branches/proto/v3/boost/typeof/type_template_param.hpp (props changed)
   branches/proto/v3/boost/typeof/typeof.hpp (props changed)
   branches/proto/v3/boost/typeof/typeof_impl.hpp (props changed)
   branches/proto/v3/boost/typeof/vector.hpp (props changed)
   branches/proto/v3/boost/typeof/vector100.hpp (props changed)
   branches/proto/v3/boost/typeof/vector150.hpp (props changed)
   branches/proto/v3/boost/typeof/vector200.hpp (props changed)
   branches/proto/v3/boost/typeof/vector50.hpp (props changed)
   branches/proto/v3/boost/xpressive/basic_regex.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/access.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/action.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/adaptor.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/finder.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/flow_control.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/icase.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/linker.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/action_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/alternate_end_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/alternate_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/any_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/assert_bol_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/assert_bos_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/assert_eol_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/assert_eos_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/assert_line_base.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/assert_word_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/attr_begin_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/attr_end_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/attr_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/charset_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/end_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/epsilon_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/keeper_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/literal_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/logical_newline_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/lookahead_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/lookbehind_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/mark_begin_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/mark_end_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/mark_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/optional_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/posix_charset_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/predicate_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/range_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/regex_byref_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/regex_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/repeat_begin_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/repeat_end_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/set_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/simple_repeat_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/string_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matcher/true_matcher.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/matchers.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/optimize.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/peeker.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/quant_style.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/regex_impl.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/results_cache.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/state.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/sub_match_impl.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/core/sub_match_vector.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/detail_fwd.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/dynamic/dynamic.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/dynamic/matchable.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/dynamic/parse_charset.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/dynamic/parser.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/dynamic/parser_enum.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/dynamic/parser_traits.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/dynamic/sequence.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/static/compile.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/static/is_pure.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/static/modifier.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/static/placeholders.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/static/static.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/static/transmogrify.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/static/type_traits.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/static/visitor.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/static/width_of.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/algorithm.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/any.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/boyer_moore.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/chset/basic_chset.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/chset/basic_chset.ipp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/chset/chset.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/chset/range_run.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/chset/range_run.ipp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/cons.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/counted_base.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/dont_care.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/hash_peek_bitset.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/ignore_unused.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/literals.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/never_true.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/save_restore.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/sequence_stack.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/symbols.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/tracking_ptr.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/traits_utils.hpp (props changed)
   branches/proto/v3/boost/xpressive/detail/utility/width.hpp (props changed)
   branches/proto/v3/boost/xpressive/match_results.hpp (contents, props changed)
   branches/proto/v3/boost/xpressive/proto/args.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/context.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/context/callable.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/context/default.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/context/null.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/debug.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/detail/as_lvalue.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/detail/dont_care.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/detail/ignore_unused.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/detail/pop_front.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/detail/reverse.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/domain.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/eval.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/expr.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/extends.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/fusion.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/generate.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/literal.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/make_expr.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/matches.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/operators.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/proto.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/proto_fwd.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/tags.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/traits.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/transform.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/transform/arg.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/transform/bind.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/transform/call.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/transform/fold.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/transform/fold_tree.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/transform/make.hpp (props changed)
   branches/proto/v3/boost/xpressive/proto/transform/when.hpp (props changed)
   branches/proto/v3/boost/xpressive/regex_actions.hpp (props changed)
   branches/proto/v3/boost/xpressive/regex_algorithms.hpp (contents, props changed)
   branches/proto/v3/boost/xpressive/regex_compiler.hpp (props changed)
   branches/proto/v3/boost/xpressive/regex_constants.hpp (props changed)
   branches/proto/v3/boost/xpressive/regex_error.hpp (props changed)
   branches/proto/v3/boost/xpressive/regex_iterator.hpp (props changed)
   branches/proto/v3/boost/xpressive/regex_primitives.hpp (props changed)
   branches/proto/v3/boost/xpressive/regex_token_iterator.hpp (props changed)
   branches/proto/v3/boost/xpressive/regex_traits.hpp (props changed)
   branches/proto/v3/boost/xpressive/sub_match.hpp (props changed)
   branches/proto/v3/boost/xpressive/traits/c_regex_traits.hpp (props changed)
   branches/proto/v3/boost/xpressive/traits/cpp_regex_traits.hpp (props changed)
   branches/proto/v3/boost/xpressive/traits/detail/c_ctype.hpp (props changed)
   branches/proto/v3/boost/xpressive/traits/null_regex_traits.hpp (props changed)
   branches/proto/v3/boost/xpressive/xpressive.hpp (props changed)
   branches/proto/v3/boost/xpressive/xpressive_dynamic.hpp (props changed)
   branches/proto/v3/boost/xpressive/xpressive_fwd.hpp (props changed)
   branches/proto/v3/boost/xpressive/xpressive_static.hpp (props changed)
   branches/proto/v3/boost/xpressive/xpressive_typeof.hpp (props changed)
   branches/proto/v3/doc/html/images/next_disabled.png (props changed)
   branches/proto/v3/doc/html/images/prev_disabled.png (props changed)
   branches/proto/v3/doc/html/images/up_disabled.png (props changed)
   branches/proto/v3/doc/src/images/next_disabled.png (props changed)
   branches/proto/v3/doc/src/images/prev_disabled.png (props changed)
   branches/proto/v3/doc/src/images/up_disabled.png (props changed)
   branches/proto/v3/libs/accumulators/doc/Jamfile.v2 (props changed)
   branches/proto/v3/libs/accumulators/doc/accumulators.qbk (props changed)
   branches/proto/v3/libs/accumulators/example/Jamfile.v2 (props changed)
   branches/proto/v3/libs/accumulators/example/example.vcproj (props changed)
   branches/proto/v3/libs/accumulators/example/main.cpp (props changed)
   branches/proto/v3/libs/accumulators/index.html (props changed)
   branches/proto/v3/libs/accumulators/test/Jamfile.v2 (props changed)
   branches/proto/v3/libs/accumulators/test/count.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/covariance.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/droppable.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/error_of.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/extended_p_square.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/extended_p_square_quantile.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/external_accumulator.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/external_weights.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/kurtosis.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/max.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/mean.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/median.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/min.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/moment.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/p_square_cumulative_distribution.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/p_square_quantile.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/p_square_quantile_extended.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/pot_quantile.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/reference.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/skewness.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/sum.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/tail.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/tail_mean.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/tail_quantile.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/tail_variate_means.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/valarray.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/value.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/variance.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/vector.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_covariance.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_extended_p_square.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_kurtosis.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_mean.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_median.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_moment.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_p_square_cum_dist.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_p_square_quantile.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_pot_quantile.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_skewness.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_sum.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_tail_mean.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_tail_quantile.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_tail_variate_means.cpp (props changed)
   branches/proto/v3/libs/accumulators/test/weighted_variance.cpp (props changed)
   branches/proto/v3/libs/assign/doc/email_example.html (props changed)
   branches/proto/v3/libs/assign/doc/multi_index_container.html (props changed)
   branches/proto/v3/libs/assign/doc/my_vector_example.html (props changed)
   branches/proto/v3/libs/assign/doc/style.css (props changed)
   branches/proto/v3/libs/assign/test/array.cpp (props changed)
   branches/proto/v3/libs/assign/test/basic.cpp (props changed)
   branches/proto/v3/libs/assign/test/email_example.cpp (props changed)
   branches/proto/v3/libs/assign/test/list_inserter.cpp (props changed)
   branches/proto/v3/libs/assign/test/list_of.cpp (props changed)
   branches/proto/v3/libs/assign/test/list_of_workaround.cpp (props changed)
   branches/proto/v3/libs/assign/test/multi_index_container.cpp (props changed)
   branches/proto/v3/libs/assign/test/my_vector_example.cpp (props changed)
   branches/proto/v3/libs/assign/test/ptr_list_inserter.cpp (props changed)
   branches/proto/v3/libs/assign/test/ptr_list_of.cpp (props changed)
   branches/proto/v3/libs/assign/test/ptr_map_inserter.cpp (props changed)
   branches/proto/v3/libs/assign/test/static_list_of.cpp (props changed)
   branches/proto/v3/libs/assign/test/std.cpp (props changed)
   branches/proto/v3/libs/assign/test/tuple_list_of.cpp (props changed)
   branches/proto/v3/libs/bimap/doc/acknowledgements.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/bimap.hdf (props changed)
   branches/proto/v3/libs/bimap/doc/bimap.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/bimap_and_boost.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/compiler_specifics.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/examples.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/future_work.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/history.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/html/boostbook.css (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/bimap/bimap.structures.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/bimap/boost.bimap.header.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/bimap/boost.bimap.logo.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/bimap/collection.type.of.relation.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/bimap/miBimapFramework.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/bimap/more.bimap.structures.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/bimap/relation.and.pair.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/bimap/relation.and.pair.with.info.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/bimap/relation.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/bimap/tagged.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/extern/googlesoc.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/people/hector.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/people/joaquin.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/people/mafalda.png (props changed)
   branches/proto/v3/libs/bimap/doc/html/images/people/matias.png (props changed)
   branches/proto/v3/libs/bimap/doc/introduction.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/jamfile.v2 (props changed)
   branches/proto/v3/libs/bimap/doc/performance.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/quick_tutorial.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/rationale.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/reference.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/reference/bimap.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/reference/list_of.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/reference/set_of.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/reference/unconstrained_set_of.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/reference/unordered_set_of.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/reference/vector_of.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/release_notes.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/test_suite.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/toolbox.qbk (props changed)
   branches/proto/v3/libs/bimap/doc/tutorial.qbk (props changed)
   branches/proto/v3/libs/bimap/example/Jamfile.v2 (props changed)
   branches/proto/v3/libs/bimap/example/at_function_examples.cpp (props changed)
   branches/proto/v3/libs/bimap/example/bimap_and_boost/assign.cpp (props changed)
   branches/proto/v3/libs/bimap/example/bimap_and_boost/foreach.cpp (props changed)
   branches/proto/v3/libs/bimap/example/bimap_and_boost/lambda.cpp (props changed)
   branches/proto/v3/libs/bimap/example/bimap_and_boost/property_map.cpp (props changed)
   branches/proto/v3/libs/bimap/example/bimap_and_boost/range.cpp (props changed)
   branches/proto/v3/libs/bimap/example/bimap_and_boost/serialization.cpp (props changed)
   branches/proto/v3/libs/bimap/example/bimap_and_boost/typeof.cpp (props changed)
   branches/proto/v3/libs/bimap/example/bimap_and_boost/xpressive.cpp (props changed)
   branches/proto/v3/libs/bimap/example/mi_to_b_path/bidirectional_map.cpp (props changed)
   branches/proto/v3/libs/bimap/example/mi_to_b_path/hashed_indices.cpp (props changed)
   branches/proto/v3/libs/bimap/example/mi_to_b_path/mi_bidirectional_map.cpp (props changed)
   branches/proto/v3/libs/bimap/example/mi_to_b_path/mi_hashed_indices.cpp (props changed)
   branches/proto/v3/libs/bimap/example/mi_to_b_path/tagged_bidirectional_map.cpp (props changed)
   branches/proto/v3/libs/bimap/example/mighty_bimap.cpp (props changed)
   branches/proto/v3/libs/bimap/example/population_bimap.cpp (props changed)
   branches/proto/v3/libs/bimap/example/projection.cpp (props changed)
   branches/proto/v3/libs/bimap/example/repetitions_counter.cpp (props changed)
   branches/proto/v3/libs/bimap/example/simple_bimap.cpp (props changed)
   branches/proto/v3/libs/bimap/example/standard_map_comparison.cpp (props changed)
   branches/proto/v3/libs/bimap/example/step_by_step.cpp (props changed)
   branches/proto/v3/libs/bimap/example/tagged_simple_bimap.cpp (props changed)
   branches/proto/v3/libs/bimap/example/tutorial_info_hook.cpp (props changed)
   branches/proto/v3/libs/bimap/example/tutorial_modify_and_replace.cpp (props changed)
   branches/proto/v3/libs/bimap/example/tutorial_range.cpp (props changed)
   branches/proto/v3/libs/bimap/example/unconstrained_collection.cpp (props changed)
   branches/proto/v3/libs/bimap/example/user_defined_names.cpp (props changed)
   branches/proto/v3/libs/bimap/index.html (props changed)
   branches/proto/v3/libs/bimap/test/Jamfile.v2 (props changed)
   branches/proto/v3/libs/bimap/test/compile_fail/test_bimap_info_1.cpp (props changed)
   branches/proto/v3/libs/bimap/test/compile_fail/test_bimap_info_2.cpp (props changed)
   branches/proto/v3/libs/bimap/test/compile_fail/test_bimap_info_3.cpp (props changed)
   branches/proto/v3/libs/bimap/test/compile_fail/test_bimap_mutable_1.cpp (props changed)
   branches/proto/v3/libs/bimap/test/compile_fail/test_bimap_mutable_2.cpp (props changed)
   branches/proto/v3/libs/bimap/test/compile_fail/test_bimap_mutable_3.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap.hpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_assign.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_convenience_header.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_extra.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_info.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_lambda.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_list_of.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_modify.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_multiset_of.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_mutable.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_operator_bracket.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_ordered.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_project.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_property_map.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_range.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_sequenced.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_serialization.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_set_of.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_unconstrained.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_unordered.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_unordered_multiset_of.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_unordered_set_of.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_bimap_vector_of.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_mutant.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_mutant_relation.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_relation.hpp (props changed)
   branches/proto/v3/libs/bimap/test/test_structured_pair.cpp (props changed)
   branches/proto/v3/libs/bimap/test/test_tagged.cpp (props changed)
   branches/proto/v3/libs/concept_check/fake_sort.hpp (props changed)
   branches/proto/v3/libs/concept_check/function_requires_fail.cpp (props changed)
   branches/proto/v3/libs/concept_check/old_concept_class_fail.cpp (props changed)
   branches/proto/v3/libs/concept_check/old_concept_function_fail.cpp (props changed)
   branches/proto/v3/libs/concept_check/old_concept_pass.cpp (props changed)
   branches/proto/v3/libs/concept_check/old_concepts.hpp (props changed)
   branches/proto/v3/libs/concept_check/usage_fail.cpp (props changed)
   branches/proto/v3/libs/concept_check/where.cpp (props changed)
   branches/proto/v3/libs/concept_check/where_fail.cpp (props changed)
   branches/proto/v3/libs/config/doc/html/boostbook.css (props changed)
   branches/proto/v3/libs/foreach/doc/Jamfile.v2 (props changed)
   branches/proto/v3/libs/foreach/doc/foreach.qbk (props changed)
   branches/proto/v3/libs/foreach/index.html (props changed)
   branches/proto/v3/libs/foreach/test/Jamfile.v2 (props changed)
   branches/proto/v3/libs/foreach/test/array_byref.cpp (props changed)
   branches/proto/v3/libs/foreach/test/array_byref_r.cpp (props changed)
   branches/proto/v3/libs/foreach/test/array_byval.cpp (props changed)
   branches/proto/v3/libs/foreach/test/array_byval_r.cpp (props changed)
   branches/proto/v3/libs/foreach/test/call_once.cpp (props changed)
   branches/proto/v3/libs/foreach/test/cstr_byref.cpp (props changed)
   branches/proto/v3/libs/foreach/test/cstr_byref_r.cpp (props changed)
   branches/proto/v3/libs/foreach/test/cstr_byval.cpp (props changed)
   branches/proto/v3/libs/foreach/test/cstr_byval_r.cpp (props changed)
   branches/proto/v3/libs/foreach/test/dependent_type.cpp (props changed)
   branches/proto/v3/libs/foreach/test/misc.cpp (props changed)
   branches/proto/v3/libs/foreach/test/noncopyable.cpp (props changed)
   branches/proto/v3/libs/foreach/test/pair_byref.cpp (props changed)
   branches/proto/v3/libs/foreach/test/pair_byref_r.cpp (props changed)
   branches/proto/v3/libs/foreach/test/pair_byval.cpp (props changed)
   branches/proto/v3/libs/foreach/test/pair_byval_r.cpp (props changed)
   branches/proto/v3/libs/foreach/test/rvalue_const.cpp (props changed)
   branches/proto/v3/libs/foreach/test/rvalue_const_r.cpp (props changed)
   branches/proto/v3/libs/foreach/test/rvalue_nonconst.cpp (props changed)
   branches/proto/v3/libs/foreach/test/rvalue_nonconst_r.cpp (props changed)
   branches/proto/v3/libs/foreach/test/stl_byref.cpp (props changed)
   branches/proto/v3/libs/foreach/test/stl_byref_r.cpp (props changed)
   branches/proto/v3/libs/foreach/test/stl_byval.cpp (props changed)
   branches/proto/v3/libs/foreach/test/stl_byval_r.cpp (props changed)
   branches/proto/v3/libs/foreach/test/user_defined.cpp (props changed)
   branches/proto/v3/libs/foreach/test/utility.hpp (props changed)
   branches/proto/v3/libs/fusion/doc/html/images/alert.png (props changed)
   branches/proto/v3/libs/fusion/doc/html/images/home.png (props changed)
   branches/proto/v3/libs/fusion/doc/html/images/next.png (props changed)
   branches/proto/v3/libs/fusion/doc/html/images/note.png (props changed)
   branches/proto/v3/libs/fusion/doc/html/images/prev.png (props changed)
   branches/proto/v3/libs/fusion/doc/html/images/smiley.png (props changed)
   branches/proto/v3/libs/fusion/doc/html/images/tip.png (props changed)
   branches/proto/v3/libs/fusion/doc/html/images/up.png (props changed)
   branches/proto/v3/libs/fusion/test/algorithm/ext_/find_if_s.cpp (props changed)
   branches/proto/v3/libs/fusion/test/algorithm/ext_/for_each_s.cpp (props changed)
   branches/proto/v3/libs/fusion/test/sequence/ext_/iterator_range_s.cpp (props changed)
   branches/proto/v3/libs/gil/doc/adobe_logo.gif (props changed)
   branches/proto/v3/libs/gil/doc/adobe_source.css (props changed)
   branches/proto/v3/libs/gil/doc/boost.png (props changed)
   branches/proto/v3/libs/gil/doc/html/adobe_source.css (props changed)
   branches/proto/v3/libs/gil/doc/html/algorithm_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/annotated.html (props changed)
   branches/proto/v3/libs/gil/doc/html/any__image_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/channel_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/classes.html (props changed)
   branches/proto/v3/libs/gil/doc/html/cmyk_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/deprecated_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/device__n_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/dir_000000.html (props changed)
   branches/proto/v3/libs/gil/doc/html/dir_000001.html (props changed)
   branches/proto/v3/libs/gil/doc/html/dir_000002.html (props changed)
   branches/proto/v3/libs/gil/doc/html/dir_000003.html (props changed)
   branches/proto/v3/libs/gil/doc/html/dir_000004.html (props changed)
   branches/proto/v3/libs/gil/doc/html/dirs.html (props changed)
   branches/proto/v3/libs/gil/doc/html/doxygen.png (props changed)
   branches/proto/v3/libs/gil/doc/html/files.html (props changed)
   branches/proto/v3/libs/gil/doc/html/functions.html (props changed)
   branches/proto/v3/libs/gil/doc/html/functions_func.html (props changed)
   branches/proto/v3/libs/gil/doc/html/functions_rela.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0001.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0001.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0002.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0002.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0003.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0003.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0004.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0004.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0005.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0005.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0006.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0006.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0007.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0007.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0008.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0008.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0009.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0009.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0010.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0010.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0011.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0011.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0012.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0012.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0013.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0013.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0014.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0014.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0015.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0015.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0016.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0016.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0017.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0017.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0018.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0018.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0019.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0019.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0020.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0020.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0021.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0021.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0022.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0022.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0023.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0023.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0024.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0024.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0025.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0025.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0026.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0026.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0027.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0027.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0028.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0028.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0029.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0029.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0030.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0030.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0031.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0031.png (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0032.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0033.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0034.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0035.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0036.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0037.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0038.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0039.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0040.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0041.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0042.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0043.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0044.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0045.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0046.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0047.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0048.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0049.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0050.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0051.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0052.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0053.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0054.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0055.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0056.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0057.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0058.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0059.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0060.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0061.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0062.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0063.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0064.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0065.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0066.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0067.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0068.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0069.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0070.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0071.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0072.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0073.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0074.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0075.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0076.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0077.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0078.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0079.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0080.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0081.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0082.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0083.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0084.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0085.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0086.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0087.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0088.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0089.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0090.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0091.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0092.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0093.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0094.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0095.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0096.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0097.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0098.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0099.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0100.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0101.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0102.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0103.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0104.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0105.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0106.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0107.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0108.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0109.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0110.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0111.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0112.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0113.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0114.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0115.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0116.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0117.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0118.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0119.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0120.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0121.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0122.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0123.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0124.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0125.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0126.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0127.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0128.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0129.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0130.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0131.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0132.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0133.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0134.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0135.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0136.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0137.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0138.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0139.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0140.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0141.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0142.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0143.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0144.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0145.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0146.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0147.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0148.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0149.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0150.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0151.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0152.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0153.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0154.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0155.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0156.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0157.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0158.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0159.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0160.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0161.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0162.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0163.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0164.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0165.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0166.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0167.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0168.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0169.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0170.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0171.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0172.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0173.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0174.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0175.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0176.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0177.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0178.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0179.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0180.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0181.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0182.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0183.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0184.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0185.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0186.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0187.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0188.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0189.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0190.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0191.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0192.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0193.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0194.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0195.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0196.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0197.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0198.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0199.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0200.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0201.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0202.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0203.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0204.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0205.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0206.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0207.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0208.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0209.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0210.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0211.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0212.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0213.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0214.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0215.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0216.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0217.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0218.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0219.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0220.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0221.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0222.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0223.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0224.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0225.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0226.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0227.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0228.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0229.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0230.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0231.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0232.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0233.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0234.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0235.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0236.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0237.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0238.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0239.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0240.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0241.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0242.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0243.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0244.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0245.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0246.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0247.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0248.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0249.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0250.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0251.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0252.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0253.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0254.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0255.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0256.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0257.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0258.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0259.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0260.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0261.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0262.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0263.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0264.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0265.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0266.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0267.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0268.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0269.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0270.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0271.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0272.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0273.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0274.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0275.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0276.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0277.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0278.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0279.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0280.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0281.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0282.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0283.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0284.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0285.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0286.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0287.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0288.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0289.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0290.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0291.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0292.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0293.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0294.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0295.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0296.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0297.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0298.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0299.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0300.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0301.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0302.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0303.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0304.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0305.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0306.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0307.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0308.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0309.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0310.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0311.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0312.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0313.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0314.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0315.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0316.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0317.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0318.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0319.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0320.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0321.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0322.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0323.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0324.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0325.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0326.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0327.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0328.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0329.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0330.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0331.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0332.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0333.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0334.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0335.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0336.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0337.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0338.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0339.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0340.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0341.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0342.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0343.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0344.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0345.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0346.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0347.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0348.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0349.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0350.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0351.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0352.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0353.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0354.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0355.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0356.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0357.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0358.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0359.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0360.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0361.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0362.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0363.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0364.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0365.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0366.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0367.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0368.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0369.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0370.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0371.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0372.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0373.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0374.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0375.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0376.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0377.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0378.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0379.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0380.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0381.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0382.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0383.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0384.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0385.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0386.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0387.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0388.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0389.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0390.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0391.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0392.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0393.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0394.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0395.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0396.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0397.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0398.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0399.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0400.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0401.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0402.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0403.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0404.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0405.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0406.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0407.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0408.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0409.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0410.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0411.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0412.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0413.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0414.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0415.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0416.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0417.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0418.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0419.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0420.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0421.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0422.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0423.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0424.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0425.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0426.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0427.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0428.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0429.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0430.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0431.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0432.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0433.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0434.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0435.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0436.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0437.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0438.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0439.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0440.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0441.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0442.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0443.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0444.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0445.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0446.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0447.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0448.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0449.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0450.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0451.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0452.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0453.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0454.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0455.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0456.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0457.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0458.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0459.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0460.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0461.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0462.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0463.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0464.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0465.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0466.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0467.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0468.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0469.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0470.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0471.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0472.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0473.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0474.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0475.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0476.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0477.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0478.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0479.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0480.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0481.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0482.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0483.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0484.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0485.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0486.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0487.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0488.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0489.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0490.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0491.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0492.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0493.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0494.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0495.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0496.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0497.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0498.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0499.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0500.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0501.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0502.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0503.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0504.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0505.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0506.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0507.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0508.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0509.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0510.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0511.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0512.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0513.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0514.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0515.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0516.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0517.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0518.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0519.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0520.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0521.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0522.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0523.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0524.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0525.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0526.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0527.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0528.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0529.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0530.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0531.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0532.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0533.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0534.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0535.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0536.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0537.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0538.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0539.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0540.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0541.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0542.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0543.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0544.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0545.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0546.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0547.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0548.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0549.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0550.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0551.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0552.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0553.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0554.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0555.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0556.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0557.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0558.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0559.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0560.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0561.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0562.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0563.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0564.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0565.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0566.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0567.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0568.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0569.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0570.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0571.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0572.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0573.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0574.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0575.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0576.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0577.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0578.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0579.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0580.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0581.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0582.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0583.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0584.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0585.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0586.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0587.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0588.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0589.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0590.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0591.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0592.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0593.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0594.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0595.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0596.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0597.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0598.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0599.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0600.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0601.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0602.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0603.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0604.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0605.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0606.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0607.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0608.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0609.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0610.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0611.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0612.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0613.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0614.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0615.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0616.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0617.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0618.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0619.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0620.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0621.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0622.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0623.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0624.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0625.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0626.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0627.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0628.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0629.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0630.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0631.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0632.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0633.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0634.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0635.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0636.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0637.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0638.html (props changed)
   branches/proto/v3/libs/gil/doc/html/g_i_l_0639.html (props changed)
   branches/proto/v3/libs/gil/doc/html/gil__all_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/gildesignguide.html (props changed)
   branches/proto/v3/libs/gil/doc/html/giltutorial.html (props changed)
   branches/proto/v3/libs/gil/doc/html/globals.html (props changed)
   branches/proto/v3/libs/gil/doc/html/globals_func.html (props changed)
   branches/proto/v3/libs/gil/doc/html/gray_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group___channel.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group___i_o.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group___image.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group___pixel.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group___point.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group___variant.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group__bits16.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group__bits16s.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group__bits32.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group__bits32f.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group__bits32s.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group__bits8.html (props changed)
   branches/proto/v3/libs/gil/doc/html/group__bits8s.html (props changed)
   branches/proto/v3/libs/gil/doc/html/hierarchy.html (props changed)
   branches/proto/v3/libs/gil/doc/html/image_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/index.html (props changed)
   branches/proto/v3/libs/gil/doc/html/interleaved.jpg (props changed)
   branches/proto/v3/libs/gil/doc/html/io__error_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/jpeg__io_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/locator_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/mandel.jpg (props changed)
   branches/proto/v3/libs/gil/doc/html/modules.html (props changed)
   branches/proto/v3/libs/gil/doc/html/monkey_steps.jpg (props changed)
   branches/proto/v3/libs/gil/doc/html/namespaceboost.html (props changed)
   branches/proto/v3/libs/gil/doc/html/namespaces.html (props changed)
   branches/proto/v3/libs/gil/doc/html/pages.html (props changed)
   branches/proto/v3/libs/gil/doc/html/pixel_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/planar.jpg (props changed)
   branches/proto/v3/libs/gil/doc/html/png__io_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/reduce_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/rgb_8hpp-source.html (props changed)
   branches/proto/v3/libs/gil/doc/html/rgb_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/rgba_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/step_iterator.gif (props changed)
   branches/proto/v3/libs/gil/doc/html/tiff__io_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/tutorial_8dox.html (props changed)
   branches/proto/v3/libs/gil/doc/html/typedefs_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/utilities_8hpp.html (props changed)
   branches/proto/v3/libs/gil/doc/html/variant_8hpp.html (props changed)
   branches/proto/v3/libs/gil/test/error_if.cpp (props changed)
   branches/proto/v3/libs/graph/doc/cochet-terrasson98numerical.pdf (props changed)
   branches/proto/v3/libs/graph/doc/dasdan-dac99.pdf (props changed)
   branches/proto/v3/libs/graph/doc/figs/cr.jpg (props changed)
   branches/proto/v3/libs/graph/doc/figs/dominator-tree1.gif (props changed)
   branches/proto/v3/libs/graph/doc/figs/dominator-tree2.gif (props changed)
   branches/proto/v3/libs/graph/doc/figs/maximal-match.png (props changed)
   branches/proto/v3/libs/graph/doc/figs/maximum-match.png (props changed)
   branches/proto/v3/libs/graph/doc/figs/mcr.jpg (props changed)
   branches/proto/v3/libs/graph/doc/figs/very_complex_graph.gif (props changed)
   branches/proto/v3/libs/graph/doc/lengauer_tarjan_dominator.htm (props changed)
   branches/proto/v3/libs/graph/doc/maximum_matching.html (props changed)
   branches/proto/v3/libs/graph/doc/profile.htm (props changed)
   branches/proto/v3/libs/graph/doc/sloan_ordering.htm (contents, props changed)
   branches/proto/v3/libs/graph/doc/sloan_start_end_vertices.htm (props changed)
   branches/proto/v3/libs/graph/doc/wavefront.htm (props changed)
   branches/proto/v3/libs/graph/example/cycle_ratio_example.cpp (props changed)
   branches/proto/v3/libs/graph/example/matching_example.cpp (props changed)
   branches/proto/v3/libs/graph/example/sloan_ordering.cpp (props changed)
   branches/proto/v3/libs/graph/test/cycle_ratio_s382.90.dot (props changed)
   branches/proto/v3/libs/graph/test/cycle_ratio_tests.cpp (props changed)
   branches/proto/v3/libs/graph/test/dominator_tree_test.cpp (props changed)
   branches/proto/v3/libs/graph/test/matching_test.cpp (props changed)
   branches/proto/v3/libs/graph/test/random_matching_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/doc/acknowledgments.html (props changed)
   branches/proto/v3/libs/iostreams/doc/bibliography.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/aggregate.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/array.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/back_inserter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/bzip2.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/chain.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/char_traits.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/classes.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/code_converter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/counter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/device.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/file.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/file_descriptor.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/filtering_stream.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/filtering_streambuf.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/gzip.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/line_filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/mapped_file.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/mode.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/newline_filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/null.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/regex_filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/stdio_filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/symmetric_filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/classes/zlib.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/bidirectional_device.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/bidirectional_filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/blocking.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/closable.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/concepts.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/device.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/direct.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/dual_use_filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/flushable.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/input_filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/localizable.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/multi-character.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/multi_character.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/optimally_buffered.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/output_filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/peekable.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/pipable.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/seekable_device.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/seekable_filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/sink.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/source.html (props changed)
   branches/proto/v3/libs/iostreams/doc/concepts/symmetric_filter.html (props changed)
   branches/proto/v3/libs/iostreams/doc/faq.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/close.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/combine.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/compose.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/copy.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/filter_test.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/flush.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/functions.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/get.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/imbue.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/invert.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/optimal_buffer_size.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/positioning.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/put.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/putback.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/read.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/restrict.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/seek.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/tee.html (props changed)
   branches/proto/v3/libs/iostreams/doc/functions/write.html (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/bidirectional_chain.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/important_modes.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/input_chain.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/key_bidirectional_seq.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/key_important.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/key_input_seq.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/key_output_seq.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/key_read_head.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/key_read_write_head.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/key_write_head.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/modes.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/output_chain.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/graphics/seekable_chain.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/asynchronous.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/buffering.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/code_conversion.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/concepts.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/exceptions.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/filtering_streams.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/generic_streams.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/guide.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/lifetimes.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/modes.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/pipelines.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/text_processing.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/traits.html (props changed)
   branches/proto/v3/libs/iostreams/doc/guide/views.html (props changed)
   branches/proto/v3/libs/iostreams/doc/home.html (props changed)
   branches/proto/v3/libs/iostreams/doc/index.html (props changed)
   branches/proto/v3/libs/iostreams/doc/installation.html (props changed)
   branches/proto/v3/libs/iostreams/doc/macros/buffer_sizes.html (props changed)
   branches/proto/v3/libs/iostreams/doc/macros/macros.html (props changed)
   branches/proto/v3/libs/iostreams/doc/macros/workarounds.html (props changed)
   branches/proto/v3/libs/iostreams/doc/menu.html (props changed)
   branches/proto/v3/libs/iostreams/doc/portability.html (props changed)
   branches/proto/v3/libs/iostreams/doc/quick_reference.html (props changed)
   branches/proto/v3/libs/iostreams/doc/rationale.html (props changed)
   branches/proto/v3/libs/iostreams/doc/reference.html (props changed)
   branches/proto/v3/libs/iostreams/doc/theme/boost.png (props changed)
   branches/proto/v3/libs/iostreams/doc/theme/boost_small.png (props changed)
   branches/proto/v3/libs/iostreams/doc/theme/iostreams.css (props changed)
   branches/proto/v3/libs/iostreams/doc/theme/wedge.gif (props changed)
   branches/proto/v3/libs/iostreams/doc/tree/tree.css (props changed)
   branches/proto/v3/libs/iostreams/doc/tree/tree.js (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/container_device.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/container_sink.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/container_source.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/dictionary_filters.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/dual_use_filters.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/filter_usage.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/finite_state_filters.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/line_wrapping_filters.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/multichar_filters.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/shell_comments_filters.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/tab_expanding_filters.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/tutorial.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/unix2dos_filters.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/writing_devices.html (props changed)
   branches/proto/v3/libs/iostreams/doc/tutorial/writing_filters.html (props changed)
   branches/proto/v3/libs/iostreams/example/boost_back_inserter_example.cpp (props changed)
   branches/proto/v3/libs/iostreams/example/container_device.hpp (props changed)
   branches/proto/v3/libs/iostreams/example/container_device_example.cpp (props changed)
   branches/proto/v3/libs/iostreams/example/container_sink_example.cpp (props changed)
   branches/proto/v3/libs/iostreams/example/container_source_example.cpp (props changed)
   branches/proto/v3/libs/iostreams/example/dictionary_filter.hpp (props changed)
   branches/proto/v3/libs/iostreams/example/finite_state_filter.hpp (props changed)
   branches/proto/v3/libs/iostreams/example/iterator_range_example.cpp (props changed)
   branches/proto/v3/libs/iostreams/example/line_wrapping_filter.hpp (props changed)
   branches/proto/v3/libs/iostreams/example/shell_comments_filter.hpp (props changed)
   branches/proto/v3/libs/iostreams/example/std_back_inserter_example.cpp (props changed)
   branches/proto/v3/libs/iostreams/example/tab_expanding_filter.hpp (props changed)
   branches/proto/v3/libs/iostreams/example/unix2dos_filter.hpp (props changed)
   branches/proto/v3/libs/iostreams/index.html (props changed)
   branches/proto/v3/libs/iostreams/src/bzip2.cpp (props changed)
   branches/proto/v3/libs/iostreams/src/file_descriptor.cpp (props changed)
   branches/proto/v3/libs/iostreams/src/mapped_file.cpp (props changed)
   branches/proto/v3/libs/iostreams/src/zlib.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/array_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/auto_close_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/buffer_size_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/bzip2_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/close_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/code_converter_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/component_access_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/compose_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/copy_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/counter_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/detail/closable.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/detail/constants.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/detail/filters.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/detail/null_padded_codecvt.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/detail/operation_sequence.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/detail/sequence.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/detail/temp_file.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/detail/utf8_codecvt_facet.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/detail/utf8_codecvt_facet.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/detail/verification.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/direct_adapter_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/example_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/execute_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/file_descriptor_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/file_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/filter_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/filtering_stream_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/finite_state_filter_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/flush_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/gzip_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/invert_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/large_file_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/line_filter_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/mapped_file_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/newline_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/null_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/operation_sequence_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/pipeline_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/putback_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/read_bidir_filter_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/read_bidir_streambuf_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/read_bidir_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/read_input_filter_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/read_input_istream_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/read_input_seq_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/read_input_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/read_seekable_seq_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/read_seekable_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/regex_filter_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/restrict_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/seek_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/seekable_file_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/seekable_filter_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/sequence_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/stdio_filter_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/symmetric_filter_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/tee_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/wide_stream_test.cpp (props changed)
   branches/proto/v3/libs/iostreams/test/write_bidir_filter_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/write_bidir_streambuf_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/write_bidir_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/write_output_filter_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/write_output_iterator_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/write_output_ostream_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/write_output_seq_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/write_output_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/write_seekable_seq_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/write_seekable_test.hpp (props changed)
   branches/proto/v3/libs/iostreams/test/zlib_test.cpp (props changed)
   branches/proto/v3/libs/iterator/doc/BidirectionalTraversal.rst (props changed)
   branches/proto/v3/libs/iterator/doc/ForwardTraversal.rst (props changed)
   branches/proto/v3/libs/iterator/doc/GNUmakefile (props changed)
   branches/proto/v3/libs/iterator/doc/IncrementableIterator.rst (props changed)
   branches/proto/v3/libs/iterator/doc/LvalueIterator.rst (props changed)
   branches/proto/v3/libs/iterator/doc/ReadableIterator.rst (props changed)
   branches/proto/v3/libs/iterator/doc/SinglePassIterator.rst (props changed)
   branches/proto/v3/libs/iterator/doc/SwappableIterator.rst (props changed)
   branches/proto/v3/libs/iterator/doc/WritableIterator.rst (props changed)
   branches/proto/v3/libs/iterator/doc/counting_iterator.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/docutils.sty (props changed)
   branches/proto/v3/libs/iterator/doc/facade-and-adaptor.html (props changed)
   branches/proto/v3/libs/iterator/doc/facade-and-adaptor.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/facade_iterator_category.rst (props changed)
   branches/proto/v3/libs/iterator/doc/filter_iterator.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/function_output_iterator.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/index.html (props changed)
   branches/proto/v3/libs/iterator/doc/index.rst (props changed)
   branches/proto/v3/libs/iterator/doc/indirect_iterator.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/indirect_reference_ref.rst (props changed)
   branches/proto/v3/libs/iterator/doc/interoperability-revisited.rst (props changed)
   branches/proto/v3/libs/iterator/doc/issues.rst (props changed)
   branches/proto/v3/libs/iterator/doc/iterator_adaptor.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/iterator_adaptor_tutorial.rst (props changed)
   branches/proto/v3/libs/iterator/doc/iterator_archetypes.html (props changed)
   branches/proto/v3/libs/iterator/doc/iterator_archetypes.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/iterator_archetypes.rst (props changed)
   branches/proto/v3/libs/iterator/doc/iterator_concepts.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/iterator_concepts.rst (props changed)
   branches/proto/v3/libs/iterator/doc/iterator_facade.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/iterator_facade_tutorial.rst (props changed)
   branches/proto/v3/libs/iterator/doc/iterator_traits.html (props changed)
   branches/proto/v3/libs/iterator/doc/iterator_traits.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/iterator_traits.rst (props changed)
   branches/proto/v3/libs/iterator/doc/make_counting_iterator.rst (props changed)
   branches/proto/v3/libs/iterator/doc/make_filter_iterator.rst (props changed)
   branches/proto/v3/libs/iterator/doc/make_transform_iterator.rst (props changed)
   branches/proto/v3/libs/iterator/doc/make_zip_iterator.rst (props changed)
   branches/proto/v3/libs/iterator/doc/new-iter-concepts.html (props changed)
   branches/proto/v3/libs/iterator/doc/new-iter-concepts.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/permutation_iterator.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/pointee.html (props changed)
   branches/proto/v3/libs/iterator/doc/pointee.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/pointee.rst (props changed)
   branches/proto/v3/libs/iterator/doc/pointee_ref.rst (props changed)
   branches/proto/v3/libs/iterator/doc/reverse_iterator.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/transform_iterator.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/transform_iterator_eg.rst (props changed)
   branches/proto/v3/libs/iterator/doc/zip_iterator.html (props changed)
   branches/proto/v3/libs/iterator/doc/zip_iterator.pdf (props changed)
   branches/proto/v3/libs/iterator/doc/zip_iterator.rst (props changed)
   branches/proto/v3/libs/iterator/doc/zip_iterator_abstract.rst (props changed)
   branches/proto/v3/libs/iterator/doc/zip_iterator_eg.rst (props changed)
   branches/proto/v3/libs/iterator/doc/zip_iterator_ref.rst (props changed)
   branches/proto/v3/libs/iterator/example/node.hpp (props changed)
   branches/proto/v3/libs/iterator/example/node_iterator1.cpp (props changed)
   branches/proto/v3/libs/iterator/example/node_iterator1.hpp (props changed)
   branches/proto/v3/libs/iterator/example/node_iterator2.cpp (props changed)
   branches/proto/v3/libs/iterator/example/node_iterator2.hpp (props changed)
   branches/proto/v3/libs/iterator/example/node_iterator3.cpp (props changed)
   branches/proto/v3/libs/iterator/example/node_iterator3.hpp (props changed)
   branches/proto/v3/libs/iterator/index.html (props changed)
   branches/proto/v3/libs/iterator/test/constant_iter_arrow.cpp (props changed)
   branches/proto/v3/libs/iterator/test/constant_iter_arrow_fail.cpp (props changed)
   branches/proto/v3/libs/iterator/test/interoperable.cpp (props changed)
   branches/proto/v3/libs/iterator/test/is_lvalue_iterator.cpp (props changed)
   branches/proto/v3/libs/iterator/test/is_readable_iterator.cpp (props changed)
   branches/proto/v3/libs/iterator/test/iter_archetype_default_ctor.cpp (props changed)
   branches/proto/v3/libs/iterator/test/iterator_facade.cpp (props changed)
   branches/proto/v3/libs/iterator/test/pointee.cpp (props changed)
   branches/proto/v3/libs/iterator/test/zip_iterator_test.cpp (props changed)
   branches/proto/v3/libs/lambda/doc/detail/lambda_doc.xml (props changed)
   branches/proto/v3/libs/lambda/test/Makefile (props changed)
   branches/proto/v3/libs/mpl/book/chapter1/binary.hpp (props changed)
   branches/proto/v3/libs/mpl/example/fsm/player1.cpp (props changed)
   branches/proto/v3/libs/mpl/example/fsm/player2.cpp (props changed)
   branches/proto/v3/libs/numeric/conversion/doc/html/boostbook.css (props changed)
   branches/proto/v3/libs/optional/doc/html/boostbook.css (props changed)
   branches/proto/v3/libs/parameter/doc/Jamfile.v2 (props changed)
   branches/proto/v3/libs/parameter/doc/html/index.html (props changed)
   branches/proto/v3/libs/parameter/doc/html/reference.html (props changed)
   branches/proto/v3/libs/parameter/doc/html/rst.css (props changed)
   branches/proto/v3/libs/parameter/doc/html/vellipsis.gif (props changed)
   branches/proto/v3/libs/parameter/doc/index.rst (props changed)
   branches/proto/v3/libs/parameter/doc/python.rst (props changed)
   branches/proto/v3/libs/parameter/doc/reference.rst (props changed)
   branches/proto/v3/libs/parameter/index.html (props changed)
   branches/proto/v3/libs/parameter/test/basics.cpp (props changed)
   branches/proto/v3/libs/parameter/test/basics.hpp (props changed)
   branches/proto/v3/libs/parameter/test/deduced.cpp (props changed)
   branches/proto/v3/libs/parameter/test/deduced.hpp (props changed)
   branches/proto/v3/libs/parameter/test/deduced_dependent_predicate.cpp (props changed)
   branches/proto/v3/libs/parameter/test/deduced_unmatched_arg.cpp (props changed)
   branches/proto/v3/libs/parameter/test/duplicates.cpp (props changed)
   branches/proto/v3/libs/parameter/test/earwicker.cpp (props changed)
   branches/proto/v3/libs/parameter/test/efficiency.cpp (props changed)
   branches/proto/v3/libs/parameter/test/macros.cpp (props changed)
   branches/proto/v3/libs/parameter/test/maybe.cpp (props changed)
   branches/proto/v3/libs/parameter/test/mpl.cpp (props changed)
   branches/proto/v3/libs/parameter/test/normalized_argument_types.cpp (props changed)
   branches/proto/v3/libs/parameter/test/ntp.cpp (props changed)
   branches/proto/v3/libs/parameter/test/optional_deduced_sfinae.cpp (props changed)
   branches/proto/v3/libs/parameter/test/preprocessor.cpp (props changed)
   branches/proto/v3/libs/parameter/test/preprocessor_deduced.cpp (props changed)
   branches/proto/v3/libs/parameter/test/python_test.cpp (props changed)
   branches/proto/v3/libs/parameter/test/sfinae.cpp (props changed)
   branches/proto/v3/libs/parameter/test/singular.cpp (props changed)
   branches/proto/v3/libs/parameter/test/timings.txt (props changed)
   branches/proto/v3/libs/parameter/test/tutorial.cpp (props changed)
   branches/proto/v3/libs/parameter/test/unwrap_cv_reference.cpp (props changed)
   branches/proto/v3/libs/ptr_container/doc/associative_ptr_container.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/boost.png (props changed)
   branches/proto/v3/libs/ptr_container/doc/conventions.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/default.css (props changed)
   branches/proto/v3/libs/ptr_container/doc/examples.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/faq.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/guidelines.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/headers.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/indirect_fun.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_array.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_container.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_deque.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_list.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_map.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_map_adapter.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_multimap.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_multimap_adapter.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_multiset.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_multiset_adapter.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_sequence_adapter.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_set.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_set_adapter.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/ptr_vector.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/reference.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/reversible_ptr_container.rst (props changed)
   branches/proto/v3/libs/ptr_container/doc/todo.txt (props changed)
   branches/proto/v3/libs/ptr_container/doc/tutorial.rst (props changed)
   branches/proto/v3/libs/ptr_container/index.html (props changed)
   branches/proto/v3/libs/ptr_container/test/Jamfile.v2 (props changed)
   branches/proto/v3/libs/ptr_container/test/associative_test_data.hpp (props changed)
   branches/proto/v3/libs/ptr_container/test/incomplete_type_test.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/indirect_fun.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/iterator_test.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/no_exceptions.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/pointainer_speed.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/ptr_array.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/ptr_container_adapter.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/ptr_deque.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/ptr_list.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/ptr_map.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/ptr_map_adapter.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/ptr_set.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/ptr_vector.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/ptr_vector_size.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/sequence_test_data.hpp (props changed)
   branches/proto/v3/libs/ptr_container/test/serialization.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/simple_test.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/test_data.hpp (props changed)
   branches/proto/v3/libs/ptr_container/test/tree_test.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/tut1.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/tut34.cpp (props changed)
   branches/proto/v3/libs/ptr_container/test/view_example.cpp (props changed)
   branches/proto/v3/libs/python/doc/PyConDC_2003/bpl.html (props changed)
   branches/proto/v3/libs/python/doc/PyConDC_2003/bpl.pdf (props changed)
   branches/proto/v3/libs/python/doc/PyConDC_2003/python_cpp_mix.jpg (props changed)
   branches/proto/v3/libs/python/doc/PyConDC_2003/python_cpp_mix.png (props changed)
   branches/proto/v3/libs/python/doc/internals.html (props changed)
   branches/proto/v3/libs/python/doc/internals.rst (props changed)
   branches/proto/v3/libs/python/doc/tutorial/doc/html/images/alert.png (props changed)
   branches/proto/v3/libs/python/doc/tutorial/doc/html/images/home.png (props changed)
   branches/proto/v3/libs/python/doc/tutorial/doc/html/images/next.png (props changed)
   branches/proto/v3/libs/python/doc/tutorial/doc/html/images/note.png (props changed)
   branches/proto/v3/libs/python/doc/tutorial/doc/html/images/prev.png (props changed)
   branches/proto/v3/libs/python/doc/tutorial/doc/html/images/tip.png (props changed)
   branches/proto/v3/libs/python/doc/tutorial/doc/html/images/up.png (props changed)
   branches/proto/v3/libs/python/doc/v2/Extractor.html (props changed)
   branches/proto/v3/libs/python/doc/v2/HolderGenerator.html (props changed)
   branches/proto/v3/libs/python/doc/v2/instance_holder.html (props changed)
   branches/proto/v3/libs/python/doc/v2/lvalue_from_pytype.html (props changed)
   branches/proto/v3/libs/python/doc/v2/operators.html (props changed)
   branches/proto/v3/libs/python/doc/v2/raw_function.html (props changed)
   branches/proto/v3/libs/python/doc/v2/return_arg.html (props changed)
   branches/proto/v3/libs/python/doc/v2/stl_iterator.html (props changed)
   branches/proto/v3/libs/python/doc/v2/type_id.html (props changed)
   branches/proto/v3/libs/python/doc/v2/wrapper.html (props changed)
   branches/proto/v3/libs/python/example/Jamroot (props changed)
   branches/proto/v3/libs/python/example/boost-build.jam (props changed)
   branches/proto/v3/libs/python/example/quickstart/Jamroot (props changed)
   branches/proto/v3/libs/python/example/tutorial/Jamroot (props changed)
   branches/proto/v3/libs/python/src/object/function_doc_signature.cpp (props changed)
   branches/proto/v3/libs/python/src/object/stl_iterator.cpp (props changed)
   branches/proto/v3/libs/python/src/object_protocol.cpp (props changed)
   branches/proto/v3/libs/python/src/wrapper.cpp (props changed)
   branches/proto/v3/libs/python/test/a_map_indexing_suite.cpp (props changed)
   branches/proto/v3/libs/python/test/andreas_beyer.cpp (props changed)
   branches/proto/v3/libs/python/test/borrowed.cpp (props changed)
   branches/proto/v3/libs/python/test/cltree.cpp (props changed)
   branches/proto/v3/libs/python/test/copy_ctor_mutates_rhs.cpp (props changed)
   branches/proto/v3/libs/python/test/crossmod_exception_a.cpp (props changed)
   branches/proto/v3/libs/python/test/crossmod_exception_b.cpp (props changed)
   branches/proto/v3/libs/python/test/injected.cpp (props changed)
   branches/proto/v3/libs/python/test/int_map_indexing_suite.cpp (props changed)
   branches/proto/v3/libs/python/test/keywords.cpp (props changed)
   branches/proto/v3/libs/python/test/object.cpp (props changed)
   branches/proto/v3/libs/python/test/object_fail1.cpp (props changed)
   branches/proto/v3/libs/python/test/object_manager.cpp (props changed)
   branches/proto/v3/libs/python/test/operators.cpp (props changed)
   branches/proto/v3/libs/python/test/polymorphism2.cpp (props changed)
   branches/proto/v3/libs/python/test/polymorphism2_auto_ptr.cpp (props changed)
   branches/proto/v3/libs/python/test/properties.cpp (props changed)
   branches/proto/v3/libs/python/test/raw_ctor.cpp (props changed)
   branches/proto/v3/libs/python/test/raw_pyobject_fail1.cpp (props changed)
   branches/proto/v3/libs/python/test/raw_pyobject_fail2.cpp (props changed)
   branches/proto/v3/libs/python/test/result.cpp (props changed)
   branches/proto/v3/libs/python/test/return_arg.cpp (props changed)
   branches/proto/v3/libs/python/test/stl_iterator.cpp (props changed)
   branches/proto/v3/libs/python/test/upcast.cpp (props changed)
   branches/proto/v3/libs/python/test/voidptr.cpp (props changed)
   branches/proto/v3/libs/python/test/wrapper_held_type.cpp (props changed)
   branches/proto/v3/libs/python/todo.html (props changed)
   branches/proto/v3/libs/range/doc/examples.html (props changed)
   branches/proto/v3/libs/range/doc/faq.html (props changed)
   branches/proto/v3/libs/range/doc/headers.html (props changed)
   branches/proto/v3/libs/range/doc/history_ack.html (props changed)
   branches/proto/v3/libs/range/doc/intro.html (props changed)
   branches/proto/v3/libs/range/doc/portability.html (props changed)
   branches/proto/v3/libs/range/doc/range.html (props changed)
   branches/proto/v3/libs/range/doc/style.css (props changed)
   branches/proto/v3/libs/range/doc/style.html (props changed)
   branches/proto/v3/libs/range/index.html (props changed)
   branches/proto/v3/libs/range/test/adl_conformance.cpp (props changed)
   branches/proto/v3/libs/range/test/adl_conformance_no_using.cpp (props changed)
   branches/proto/v3/libs/range/test/algorithm_example.cpp (props changed)
   branches/proto/v3/libs/range/test/array.cpp (props changed)
   branches/proto/v3/libs/range/test/compat2.cpp (props changed)
   branches/proto/v3/libs/range/test/compat3.cpp (props changed)
   branches/proto/v3/libs/range/test/const_ranges.cpp (props changed)
   branches/proto/v3/libs/range/test/extension_mechanism.cpp (props changed)
   branches/proto/v3/libs/range/test/iterator_pair.cpp (props changed)
   branches/proto/v3/libs/range/test/iterator_range.cpp (props changed)
   branches/proto/v3/libs/range/test/mfc.cpp (props changed)
   branches/proto/v3/libs/range/test/partial_workaround.cpp (props changed)
   branches/proto/v3/libs/range/test/reversible_range.cpp (props changed)
   branches/proto/v3/libs/range/test/std_container.cpp (props changed)
   branches/proto/v3/libs/range/test/string.cpp (props changed)
   branches/proto/v3/libs/range/test/sub_range.cpp (props changed)
   branches/proto/v3/libs/test/build/msvc71_proj/algorithms_test.vcproj (props changed)
   branches/proto/v3/libs/test/build/msvc71_proj/custom_exception_test.vcproj (props changed)
   branches/proto/v3/libs/test/build/msvc71_proj/exec_mon_example.vcproj (props changed)
   branches/proto/v3/libs/test/build/msvc71_proj/ifstream_line_it_tst.vcproj (props changed)
   branches/proto/v3/libs/test/build/msvc71_proj/test_case_template_ex.vcproj (props changed)
   branches/proto/v3/libs/test/build/msvc71_proj/token_iterator_test.vcproj (props changed)
   branches/proto/v3/libs/test/doc/components/test_tools/reference/BOOST_CHECK_EQUAL_COLL.html (props changed)
   branches/proto/v3/libs/test/doc/components/utf/compilation.html (props changed)
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/abstract_interface.html (contents, props changed)
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/class_tc.html (contents, props changed)
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/param_boost_function_tc.html (contents, props changed)
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/tc_template.html (contents, props changed)
   branches/proto/v3/libs/test/doc/components/utf/components/test_log/custom_log_formatter.html (contents, props changed)
   branches/proto/v3/libs/test/doc/components/utf/components/test_log/index.html (contents, props changed)
   branches/proto/v3/libs/test/example/cla/Jamfile (props changed)
   branches/proto/v3/libs/test/example/cla/assign_to.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/basic_float.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/basic_int.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/basic_list.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/basic_string.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/basic_udt.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/char_parameter.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/custom_handler.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/custom_interpreter.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/custom_parameter.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/default_value.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/dual_name.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/global.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/guess_name.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/help.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/ignore_mismatch.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/input_separator.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/multiplicable.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/name.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/optional.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/optional_value.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/positional.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/prefix.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/reference.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/remainder.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/separator.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/usage.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/validation/Jamfile (props changed)
   branches/proto/v3/libs/test/example/cla/validation/access_unknown.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/validation/ambiguous_access.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/validation/ambiguous_input.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/validation/definition_conflict.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/validation/invalid_short_name.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/validation/multiple_generators.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/validation/multiple_value_handlers.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/validation/opt_with_default_value.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/validation/optional_plus_multiplicable.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/validation/required_missing.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/validation/unexpected_input.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/validation/unexpected_repetition.cpp (props changed)
   branches/proto/v3/libs/test/example/cla/wide_string.cpp (props changed)
   branches/proto/v3/libs/test/example/env/Jamfile (props changed)
   branches/proto/v3/libs/test/example/env/custom_interpreter_env.cpp (props changed)
   branches/proto/v3/libs/test/example/env/env_var_default_value.cpp (props changed)
   branches/proto/v3/libs/test/example/env/environment_ex.cpp (props changed)
   branches/proto/v3/libs/test/example/env/global_id.cpp (props changed)
   branches/proto/v3/libs/test/example/env/modifier_combination.cpp (props changed)
   branches/proto/v3/libs/test/example/env/validation/Jamfile (props changed)
   branches/proto/v3/libs/test/example/env/validation/need_typed_access.cpp (props changed)
   branches/proto/v3/libs/test/example/env/variable_ex.cpp (props changed)
   branches/proto/v3/libs/test/example/named_param_example.cpp (props changed)
   branches/proto/v3/libs/test/test/algorithms_test.cpp (props changed)
   branches/proto/v3/libs/test/test/config_file_iterator_test.cpp (props changed)
   branches/proto/v3/libs/test/test/config_file_test.cpp (props changed)
   branches/proto/v3/libs/test/test/foreach_test.cpp (props changed)
   branches/proto/v3/libs/test/test/test_files/cfg_file_tst1.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/cfg_file_tst2.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/cfg_file_tst3.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/cfg_file_tst4.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/cfg_file_tst5.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/cfg_file_tst6.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/cfg_file_tst7.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/errors_handling_test.pattern2 (props changed)
   branches/proto/v3/libs/test/test/test_files/par_alias1.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/par_alias2.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/par_alias3.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_broken_line.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_comments_and_blanks.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_constructor.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_define.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_ifdef.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_ifdef1.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_ifdef2.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_ifdef3.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_ifdef4.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_include1.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_include1_include1.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_include2.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_include3.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_incomplete_broken_line.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_macro_def1.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_macro_subst1.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_macro_subst2.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_macro_subst3.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_macro_subst4.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value1.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value10.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value11.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value12.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value13.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value2.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value3.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value4.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value5.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value6.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value7.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value8.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_multipart_value9.cfg (props changed)
   branches/proto/v3/libs/test/test/test_files/test_undef.cfg (props changed)
   branches/proto/v3/libs/thread/src/pthread/once.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/decay_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/extent_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/has_virtual_destructor_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/is_abstract_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/is_base_of_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/is_floating_point_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/is_member_obj_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/is_signed_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/is_unsigned_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/promote_basic_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/promote_enum_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/promote_mpl_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/promote_util.hpp (props changed)
   branches/proto/v3/libs/type_traits/test/rank_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/remove_all_extents_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/remove_extent_test.cpp (props changed)
   branches/proto/v3/libs/type_traits/test/tricky_is_enum_test.cpp (props changed)
   branches/proto/v3/libs/typeof/index.html (props changed)
   branches/proto/v3/libs/typeof/test/data_member.cpp (props changed)
   branches/proto/v3/libs/typeof/test/function.cpp (props changed)
   branches/proto/v3/libs/typeof/test/function_binding.cpp (props changed)
   branches/proto/v3/libs/typeof/test/function_ptr.cpp (props changed)
   branches/proto/v3/libs/typeof/test/function_ptr_from_tpl.cpp (props changed)
   branches/proto/v3/libs/typeof/test/function_ref.cpp (props changed)
   branches/proto/v3/libs/typeof/test/member_function.cpp (props changed)
   branches/proto/v3/libs/typeof/test/modifiers.cpp (props changed)
   branches/proto/v3/libs/typeof/test/noncopyable.cpp (props changed)
   branches/proto/v3/libs/typeof/test/odr.hpp (props changed)
   branches/proto/v3/libs/typeof/test/odr1.cpp (props changed)
   branches/proto/v3/libs/typeof/test/odr2.cpp (props changed)
   branches/proto/v3/libs/typeof/test/odr_no_uns1.cpp (props changed)
   branches/proto/v3/libs/typeof/test/odr_no_uns1.hpp (props changed)
   branches/proto/v3/libs/typeof/test/odr_no_uns2.cpp (props changed)
   branches/proto/v3/libs/typeof/test/odr_no_uns2.hpp (props changed)
   branches/proto/v3/libs/typeof/test/std.cpp (props changed)
   branches/proto/v3/libs/typeof/test/template_dependent.cpp (props changed)
   branches/proto/v3/libs/typeof/test/template_enum.cpp (props changed)
   branches/proto/v3/libs/typeof/test/template_int.cpp (props changed)
   branches/proto/v3/libs/typeof/test/template_multiword.cpp (props changed)
   branches/proto/v3/libs/typeof/test/template_tpl.cpp (props changed)
   branches/proto/v3/libs/typeof/test/template_type.cpp (props changed)
   branches/proto/v3/libs/typeof/test/test.hpp (props changed)
   branches/proto/v3/libs/typeof/test/type.cpp (props changed)
   branches/proto/v3/libs/utility/test/next_prior_test.cpp (props changed)
   branches/proto/v3/libs/xpressive/doc/Jamfile.v2 (props changed)
   branches/proto/v3/libs/xpressive/doc/acknowledgements.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/actions.qbk (contents, props changed)
   branches/proto/v3/libs/xpressive/doc/concepts.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/dynamic_regexes.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/examples.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/grammars.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/history.qbk (contents, props changed)
   branches/proto/v3/libs/xpressive/doc/installation.qbk (contents, props changed)
   branches/proto/v3/libs/xpressive/doc/introduction.qbk (contents, props changed)
   branches/proto/v3/libs/xpressive/doc/matching.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/nyi.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/perf.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/preface.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/quick_start.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/regexpp_diffs.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/results.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/static_regexes.qbk (contents, props changed)
   branches/proto/v3/libs/xpressive/doc/substitutions.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/symbols.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/tips_n_tricks.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/tokenization.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/traits.qbk (props changed)
   branches/proto/v3/libs/xpressive/doc/xpressive.qbk (props changed)
   branches/proto/v3/libs/xpressive/example/Jamfile.v2 (props changed)
   branches/proto/v3/libs/xpressive/example/example.vcproj (props changed)
   branches/proto/v3/libs/xpressive/example/main.cpp (props changed)
   branches/proto/v3/libs/xpressive/example/numbers.cpp (props changed)
   branches/proto/v3/libs/xpressive/index.html (props changed)
   branches/proto/v3/libs/xpressive/perf/Jamfile.v2 (props changed)
   branches/proto/v3/libs/xpressive/perf/command_line.cpp (props changed)
   branches/proto/v3/libs/xpressive/perf/gcc/long_twain_search.xml (props changed)
   branches/proto/v3/libs/xpressive/perf/gcc/short_matches.xml (props changed)
   branches/proto/v3/libs/xpressive/perf/gcc/short_twain_search.xml (props changed)
   branches/proto/v3/libs/xpressive/perf/main.cpp (props changed)
   branches/proto/v3/libs/xpressive/perf/msvc/long_twain_search.xml (props changed)
   branches/proto/v3/libs/xpressive/perf/msvc/short_matches.xml (props changed)
   branches/proto/v3/libs/xpressive/perf/msvc/short_twain_search.xml (props changed)
   branches/proto/v3/libs/xpressive/perf/regex_comparison.hpp (props changed)
   branches/proto/v3/libs/xpressive/perf/time_boost.cpp (props changed)
   branches/proto/v3/libs/xpressive/perf/time_dynamic_xpressive.cpp (props changed)
   branches/proto/v3/libs/xpressive/perf/time_static_xpressive.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/Jamfile.v2 (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/acknowledgements.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/calculator.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/concepts/PolymorphicFunctionObject.xml (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/concepts/PrimitiveTransform.xml (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/concepts/Transform.xml (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/construction.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/evaluation.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/examples.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/extensibility.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/grammars.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/history.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/boostbook.css (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/alert.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/1.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/10.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/11.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/12.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/13.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/14.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/15.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/2.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/3.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/4.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/5.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/6.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/7.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/8.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/callouts/9.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/caution.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/home.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/important.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/next.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/note.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/prev.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/smiley.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/tip.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/up.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/html/images/warning.png (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/implementation.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/installation.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/preface.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/proto.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/proto.xml (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/protodoc.xml (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/quick_start.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/rationale.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/doc/transforms.qbk (props changed)
   branches/proto/v3/libs/xpressive/proto/example/Jamfile.v2 (props changed)
   branches/proto/v3/libs/xpressive/proto/example/calc1.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/example/calc2.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/example/calc3.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/example/futures.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/example/hello.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/example/lambda.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/example/lazy_vector.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/example/map_assign.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/example/mixed.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/example/rgb.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/example/tarray.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/example/vec3.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/example/vector.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/test/Jamfile.v2 (props changed)
   branches/proto/v3/libs/xpressive/proto/test/calculator.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/test/deep_copy.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/test/examples.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/test/lambda.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/test/make_expr.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/test/matches.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/test/proto_fusion.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/test/proto_fusion_s.cpp (props changed)
   branches/proto/v3/libs/xpressive/proto/test/toy_spirit.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/Jamfile.v2 (props changed)
   branches/proto/v3/libs/xpressive/test/c_traits.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/misc1.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/misc2.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/multiple_defs1.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/multiple_defs2.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/regress.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/regress.ipp (props changed)
   branches/proto/v3/libs/xpressive/test/regress.txt (props changed)
   branches/proto/v3/libs/xpressive/test/test.hpp (props changed)
   branches/proto/v3/libs/xpressive/test/test1.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test1.hpp (props changed)
   branches/proto/v3/libs/xpressive/test/test10.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test10.hpp (props changed)
   branches/proto/v3/libs/xpressive/test/test10u.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test11.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test11.hpp (props changed)
   branches/proto/v3/libs/xpressive/test/test11u.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test1u.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test2.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test2.hpp (props changed)
   branches/proto/v3/libs/xpressive/test/test2u.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test3.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test3.hpp (props changed)
   branches/proto/v3/libs/xpressive/test/test3u.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test4.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test4.hpp (props changed)
   branches/proto/v3/libs/xpressive/test/test4u.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test5.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test5.hpp (props changed)
   branches/proto/v3/libs/xpressive/test/test5u.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test6.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test6.hpp (props changed)
   branches/proto/v3/libs/xpressive/test/test6u.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test7.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test7.hpp (props changed)
   branches/proto/v3/libs/xpressive/test/test7u.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test8.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test8.hpp (props changed)
   branches/proto/v3/libs/xpressive/test/test8u.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test9.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test9.hpp (props changed)
   branches/proto/v3/libs/xpressive/test/test9u.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_actions.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_assert.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_basic_regex.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_cycles.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_dynamic.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_dynamic_grammar.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_format.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_match_results.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_non_char.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_partial_match.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_regex_algorithms.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_regex_compiler.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_regex_constants.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_regex_error.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_regex_iterator.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_regex_primitives.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_regex_token_iterator.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_regex_traits.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_skip.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_static.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_sub_match.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_symbols.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_typeof.cpp (props changed)
   branches/proto/v3/libs/xpressive/test/test_typeof2.cpp (props changed)
   branches/proto/v3/libs/xpressive/tools/Jamfile.v2 (props changed)
   branches/proto/v3/libs/xpressive/tools/perl2xpr.cpp (props changed)
   branches/proto/v3/rst.css (props changed)
   branches/proto/v3/tools/boostbook/xsl/global.xsl (props changed)
   branches/proto/v3/tools/build/v2/build-system.jam (props changed)
   branches/proto/v3/tools/build/v2/kernel/boost-build.jam (props changed)
   branches/proto/v3/tools/build/v2/kernel/bootstrap.jam (props changed)
   branches/proto/v3/tools/build/v2/kernel/errors.jam (props changed)
   branches/proto/v3/tools/build/v2/kernel/modules.jam (props changed)
   branches/proto/v3/tools/build/v2/options/help.jam (props changed)
   branches/proto/v3/tools/build/v2/tools/docutils.jam (props changed)
   branches/proto/v3/tools/build/v2/util/indirect.jam (props changed)
   branches/proto/v3/tools/inspect/minmax_check.cpp (props changed)
   branches/proto/v3/tools/inspect/minmax_check.hpp (props changed)
   branches/proto/v3/tools/jam/src/boehm_gc/config.sub (props changed)
   branches/proto/v3/tools/jam/src/boehm_gc/cord/de_win.ICO (props changed)
   branches/proto/v3/tools/jam/src/boehm_gc/mallocx.c (props changed)
   branches/proto/v3/tools/jam/src/boehm_gc/misc.c (props changed)
   branches/proto/v3/tools/jam/src/boehm_gc/typd_mlc.c (props changed)
   branches/proto/v3/tools/jam/src/boehm_gc/win32_threads.c (props changed)
   branches/proto/v3/tools/quickbook/Jamfile.v2 (props changed)
   branches/proto/v3/tools/quickbook/detail/actions.hpp (props changed)
   branches/proto/v3/tools/quickbook/detail/quickbook.cpp (props changed)
   branches/proto/v3/tools/quickbook/detail/utils.hpp (props changed)
   branches/proto/v3/tools/quickbook/doc/Jamfile.v2 (props changed)
   branches/proto/v3/tools/quickbook/doc/html/images/alert.png (props changed)
   branches/proto/v3/tools/quickbook/doc/html/images/extra/katepart/boost.hs.logo.png (props changed)
   branches/proto/v3/tools/quickbook/doc/html/images/home.png (props changed)
   branches/proto/v3/tools/quickbook/doc/html/images/next.png (props changed)
   branches/proto/v3/tools/quickbook/doc/html/images/note.png (props changed)
   branches/proto/v3/tools/quickbook/doc/html/images/prev.png (props changed)
   branches/proto/v3/tools/quickbook/doc/html/images/smiley.png (props changed)
   branches/proto/v3/tools/quickbook/doc/html/images/tip.png (props changed)
   branches/proto/v3/tools/quickbook/doc/html/images/up.png (props changed)
   branches/proto/v3/tools/quickbook/doc/html/index.html (props changed)
   branches/proto/v3/tools/quickbook/doc/html/quickbook/ref.html (props changed)
   branches/proto/v3/tools/quickbook/doc/html/quickbook/syntax.html (props changed)
   branches/proto/v3/tools/quickbook/doc/quickbook.qbk (props changed)
   branches/proto/v3/tools/quickbook/doc_info.hpp (props changed)
   branches/proto/v3/tools/quickbook/extra/katepart/syntax/boost_hs_boost.xml (props changed)
   branches/proto/v3/tools/quickbook/extra/katepart/syntax/boost_hs_cpp.xml (props changed)
   branches/proto/v3/tools/quickbook/extra/katepart/syntax/boost_hs_quickbook.xml (props changed)
   branches/proto/v3/tools/quickbook/extra/katepart/syntax/boost_hs_std.xml (props changed)
   branches/proto/v3/tools/quickbook/index.html (props changed)
   branches/proto/v3/tools/quickbook/syntax_highlight.hpp (props changed)
   branches/proto/v3/wiki/index.html (props changed)
Text files modified:
   branches/proto/v3/boost/archive/array/iarchive.hpp | 18
   branches/proto/v3/boost/archive/array/oarchive.hpp | 8
   branches/proto/v3/boost/archive/basic_archive.hpp | 4
   branches/proto/v3/boost/archive/basic_binary_iarchive.hpp | 2
   branches/proto/v3/boost/archive/basic_binary_iprimitive.hpp | 9
   branches/proto/v3/boost/archive/basic_binary_oarchive.hpp | 6
   branches/proto/v3/boost/archive/basic_binary_oprimitive.hpp | 6
   branches/proto/v3/boost/archive/basic_streambuf_locale_saver.hpp | 3
   branches/proto/v3/boost/archive/basic_text_iprimitive.hpp | 4
   branches/proto/v3/boost/archive/basic_text_oarchive.hpp | 2
   branches/proto/v3/boost/archive/basic_text_oprimitive.hpp | 6
   branches/proto/v3/boost/archive/basic_xml_archive.hpp | 35
   branches/proto/v3/boost/archive/binary_iarchive_impl.hpp | 2
   branches/proto/v3/boost/archive/binary_oarchive_impl.hpp | 2
   branches/proto/v3/boost/archive/codecvt_null.hpp | 5
   branches/proto/v3/boost/archive/detail/archive_pointer_iserializer.hpp | 3
   branches/proto/v3/boost/archive/detail/archive_pointer_oserializer.hpp | 3
   branches/proto/v3/boost/archive/detail/auto_link_archive.hpp | 33
   branches/proto/v3/boost/archive/detail/basic_iarchive.hpp | 19
   branches/proto/v3/boost/archive/detail/basic_iserializer.hpp | 17
   branches/proto/v3/boost/archive/detail/basic_oarchive.hpp | 3
   branches/proto/v3/boost/archive/detail/basic_oserializer.hpp | 10
   branches/proto/v3/boost/archive/detail/basic_pointer_iserializer.hpp | 6
   branches/proto/v3/boost/archive/detail/basic_pointer_oserializer.hpp | 8
   branches/proto/v3/boost/archive/detail/basic_serializer.hpp | 11
   branches/proto/v3/boost/archive/detail/basic_serializer_map.hpp | 28
   branches/proto/v3/boost/archive/detail/interface_iarchive.hpp | 11
   branches/proto/v3/boost/archive/detail/interface_oarchive.hpp | 13
   branches/proto/v3/boost/archive/detail/iserializer.hpp | 133
   branches/proto/v3/boost/archive/detail/oserializer.hpp | 210
   branches/proto/v3/boost/archive/detail/register_archive.hpp | 2
   branches/proto/v3/boost/archive/impl/archive_pointer_iserializer.ipp | 46
   branches/proto/v3/boost/archive/impl/archive_pointer_oserializer.ipp | 50
   branches/proto/v3/boost/archive/impl/basic_binary_iarchive.ipp | 1
   branches/proto/v3/boost/archive/impl/basic_binary_iprimitive.ipp | 7
   branches/proto/v3/boost/archive/impl/basic_binary_oprimitive.ipp | 5
   branches/proto/v3/boost/archive/impl/basic_text_iarchive.ipp | 1
   branches/proto/v3/boost/archive/impl/basic_text_iprimitive.ipp | 9
   branches/proto/v3/boost/archive/impl/basic_text_oprimitive.ipp | 7
   branches/proto/v3/boost/archive/impl/basic_xml_iarchive.ipp | 1
   branches/proto/v3/boost/archive/impl/basic_xml_oarchive.ipp | 13
   branches/proto/v3/boost/archive/impl/text_iarchive_impl.ipp | 2
   branches/proto/v3/boost/archive/impl/xml_iarchive_impl.ipp | 2
   branches/proto/v3/boost/archive/impl/xml_wiarchive_impl.ipp | 2
   branches/proto/v3/boost/archive/iterators/insert_linebreaks.hpp | 2
   branches/proto/v3/boost/archive/iterators/remove_whitespace.hpp | 2
   branches/proto/v3/boost/archive/polymorphic_binary_iarchive.hpp | 6
   branches/proto/v3/boost/archive/polymorphic_binary_oarchive.hpp | 4
   branches/proto/v3/boost/archive/polymorphic_iarchive.hpp | 7
   branches/proto/v3/boost/archive/polymorphic_oarchive.hpp | 7
   branches/proto/v3/boost/archive/polymorphic_text_iarchive.hpp | 6
   branches/proto/v3/boost/archive/polymorphic_text_oarchive.hpp | 4
   branches/proto/v3/boost/archive/polymorphic_text_wiarchive.hpp | 4
   branches/proto/v3/boost/archive/polymorphic_text_woarchive.hpp | 4
   branches/proto/v3/boost/archive/polymorphic_xml_iarchive.hpp | 6
   branches/proto/v3/boost/archive/polymorphic_xml_oarchive.hpp | 4
   branches/proto/v3/boost/archive/polymorphic_xml_wiarchive.hpp | 4
   branches/proto/v3/boost/archive/polymorphic_xml_woarchive.hpp | 4
   branches/proto/v3/boost/archive/shared_ptr_helper.hpp | 9
   branches/proto/v3/boost/archive/xml_wiarchive.hpp | 2
   branches/proto/v3/boost/archive/xml_woarchive.hpp | 2
   branches/proto/v3/boost/circular_buffer/base.hpp | 37
   branches/proto/v3/boost/circular_buffer/details.hpp | 4
   branches/proto/v3/boost/circular_buffer/space_optimized.hpp | 27
   branches/proto/v3/boost/config/compiler/pgi.hpp | 8
   branches/proto/v3/boost/date_time/testfrmwk.hpp | 2
   branches/proto/v3/boost/enable_shared_from_this.hpp | 55
   branches/proto/v3/boost/gil/device_n.hpp | 14
   branches/proto/v3/boost/gil/gil_concept.hpp | 4
   branches/proto/v3/boost/serialization/base_object.hpp | 77
   branches/proto/v3/boost/serialization/binary_object.hpp | 2
   branches/proto/v3/boost/serialization/collections_load_imp.hpp | 2
   branches/proto/v3/boost/serialization/complex.hpp | 42
   branches/proto/v3/boost/serialization/config.hpp | 66
   branches/proto/v3/boost/serialization/ephemeral.hpp | 5
   branches/proto/v3/boost/serialization/export.hpp | 116
   branches/proto/v3/boost/serialization/extended_type_info.hpp | 65
   branches/proto/v3/boost/serialization/extended_type_info_no_rtti.hpp | 86
   branches/proto/v3/boost/serialization/extended_type_info_typeid.hpp | 121
   branches/proto/v3/boost/serialization/force_include.hpp | 4
   branches/proto/v3/boost/serialization/is_abstract.hpp | 2
   branches/proto/v3/boost/serialization/optional.hpp | 3
   branches/proto/v3/boost/serialization/type_info_implementation.hpp | 2
   branches/proto/v3/boost/serialization/void_cast.hpp | 159
   branches/proto/v3/boost/serialization/void_cast_fwd.hpp | 2
   branches/proto/v3/boost/serialization/weak_ptr.hpp | 4
   branches/proto/v3/boost/shared_ptr.hpp | 85
   branches/proto/v3/boost/static_warning.hpp | 2
   branches/proto/v3/boost/thread/detail/move.hpp | 2
   branches/proto/v3/boost/thread/pthread/shared_mutex.hpp | 49
   branches/proto/v3/boost/thread/pthread/thread.hpp | 17
   branches/proto/v3/boost/thread/pthread/thread_data.hpp | 1
   branches/proto/v3/boost/thread/win32/basic_timed_mutex.hpp | 22
   branches/proto/v3/boost/thread/win32/condition_variable.hpp | 13
   branches/proto/v3/boost/thread/win32/once.hpp | 2
   branches/proto/v3/boost/thread/win32/shared_mutex.hpp | 114
   branches/proto/v3/boost/thread/win32/thread.hpp | 19
   branches/proto/v3/boost/xpressive/match_results.hpp | 24
   branches/proto/v3/boost/xpressive/regex_algorithms.hpp | 207
   branches/proto/v3/doc/Jamfile.v2 | 2
   branches/proto/v3/doc/src/boost.xml | 2
   branches/proto/v3/libs/circular_buffer/doc/circular_buffer.html | 45
   branches/proto/v3/libs/circular_buffer/doc/space_optimized.html | 43
   branches/proto/v3/libs/filesystem/doc/do-list.htm | 5
   branches/proto/v3/libs/filesystem/doc/faq.htm | 8
   branches/proto/v3/libs/filesystem/doc/i18n.html | 32
   branches/proto/v3/libs/filesystem/doc/index.htm | 48
   branches/proto/v3/libs/filesystem/doc/reference.html | 7
   branches/proto/v3/libs/filesystem/src/operations.cpp | 8
   branches/proto/v3/libs/functional/hash/doc/Jamfile.v2 | 2
   branches/proto/v3/libs/graph/doc/breadth_first_visit.html | 3
   branches/proto/v3/libs/graph/doc/depth_first_search.html | 2
   branches/proto/v3/libs/graph/doc/read_graphml.html | 2
   branches/proto/v3/libs/graph/doc/read_graphviz.html | 2
   branches/proto/v3/libs/graph/doc/sloan_ordering.htm | 2
   branches/proto/v3/libs/graph/doc/table_of_contents.html | 2
   branches/proto/v3/libs/graph/doc/write_dimacs.html | 2
   branches/proto/v3/libs/libraries.htm | 53
   branches/proto/v3/libs/mpi/doc/mpi.qbk | 3
   branches/proto/v3/libs/serialization/build/Jamfile.v2 | 63
   branches/proto/v3/libs/serialization/doc/acknowledgments.html | 2
   branches/proto/v3/libs/serialization/doc/archive_reference.html | 61
   branches/proto/v3/libs/serialization/doc/class_diagram.html | 14
   branches/proto/v3/libs/serialization/doc/codecvt.html | 2
   branches/proto/v3/libs/serialization/doc/contents.html | 22
   branches/proto/v3/libs/serialization/doc/exceptions.html | 5
   branches/proto/v3/libs/serialization/doc/extended_type_info.html | 241
   branches/proto/v3/libs/serialization/doc/implementation.html | 24
   branches/proto/v3/libs/serialization/doc/rationale.html | 6
   branches/proto/v3/libs/serialization/doc/release.html | 74
   branches/proto/v3/libs/serialization/doc/serialization.html | 13
   branches/proto/v3/libs/serialization/doc/shared_ptr2.html | 12
   branches/proto/v3/libs/serialization/doc/special.html | 283
   branches/proto/v3/libs/serialization/doc/static_warning.html | 20
   branches/proto/v3/libs/serialization/doc/traits.html | 31
   branches/proto/v3/libs/serialization/doc/tutorial.html | 2
   branches/proto/v3/libs/serialization/doc/void_cast.html | 4
   branches/proto/v3/libs/serialization/example/demo_portable_archive.cpp | 44
   branches/proto/v3/libs/serialization/example/portable_binary_iarchive.hpp | 215
   branches/proto/v3/libs/serialization/example/portable_binary_oarchive.hpp | 207
   branches/proto/v3/libs/serialization/src/basic_archive.cpp | 2
   branches/proto/v3/libs/serialization/src/basic_iarchive.cpp | 33
   branches/proto/v3/libs/serialization/src/basic_iserializer.cpp | 2
   branches/proto/v3/libs/serialization/src/basic_oarchive.cpp | 17
   branches/proto/v3/libs/serialization/src/basic_oserializer.cpp | 2
   branches/proto/v3/libs/serialization/src/basic_serializer_map.cpp | 59
   branches/proto/v3/libs/serialization/src/basic_xml_grammar.ipp | 7
   branches/proto/v3/libs/serialization/src/binary_iarchive.cpp | 16
   branches/proto/v3/libs/serialization/src/binary_oarchive.cpp | 8
   branches/proto/v3/libs/serialization/src/codecvt_null.cpp | 6
   branches/proto/v3/libs/serialization/src/extended_type_info.cpp | 315
   branches/proto/v3/libs/serialization/src/extended_type_info_no_rtti.cpp | 33
   branches/proto/v3/libs/serialization/src/extended_type_info_typeid.cpp | 101
   branches/proto/v3/libs/serialization/src/void_cast.cpp | 360
   branches/proto/v3/libs/serialization/src/xml_grammar.cpp | 2
   branches/proto/v3/libs/serialization/src/xml_woarchive.cpp | 2
   branches/proto/v3/libs/serialization/test/A.hpp | 302
   branches/proto/v3/libs/serialization/test/B.hpp | 35
   branches/proto/v3/libs/serialization/test/Jamfile.v2 | 322
   branches/proto/v3/libs/serialization/test/binary_archive.hpp | 4
   branches/proto/v3/libs/serialization/test/polymorphic_text_archive.hpp | 1
   branches/proto/v3/libs/serialization/test/polymorphic_text_warchive.hpp | 1
   branches/proto/v3/libs/serialization/test/polymorphic_xml_archive.hpp | 1
   branches/proto/v3/libs/serialization/test/polymorphic_xml_warchive.hpp | 1
   branches/proto/v3/libs/serialization/test/portable_binary_archive.hpp | 11
   branches/proto/v3/libs/serialization/test/test_array.cpp | 10
   branches/proto/v3/libs/serialization/test/test_binary.cpp | 6
   branches/proto/v3/libs/serialization/test/test_class_info_load.cpp | 4
   branches/proto/v3/libs/serialization/test/test_class_info_save.cpp | 4
   branches/proto/v3/libs/serialization/test/test_complex.cpp | 25
   branches/proto/v3/libs/serialization/test/test_contained_class.cpp | 7
   branches/proto/v3/libs/serialization/test/test_cyclic_ptrs.cpp | 7
   branches/proto/v3/libs/serialization/test/test_delete_pointer.cpp | 6
   branches/proto/v3/libs/serialization/test/test_deque.cpp | 8
   branches/proto/v3/libs/serialization/test/test_derived.cpp | 27
   branches/proto/v3/libs/serialization/test/test_derived_class.cpp | 7
   branches/proto/v3/libs/serialization/test/test_derived_class_ptr.cpp | 7
   branches/proto/v3/libs/serialization/test/test_diamond.cpp | 2
   branches/proto/v3/libs/serialization/test/test_exported.cpp | 63
   branches/proto/v3/libs/serialization/test/test_list.cpp | 11
   branches/proto/v3/libs/serialization/test/test_list_ptrs.cpp | 11
   branches/proto/v3/libs/serialization/test/test_map.cpp | 65
   branches/proto/v3/libs/serialization/test/test_mi.cpp | 2
   branches/proto/v3/libs/serialization/test/test_mult_archive_types.cpp | 4
   branches/proto/v3/libs/serialization/test/test_multiple_ptrs.cpp | 7
   branches/proto/v3/libs/serialization/test/test_no_rtti.cpp | 64
   branches/proto/v3/libs/serialization/test/test_non_default_ctor.cpp | 8
   branches/proto/v3/libs/serialization/test/test_non_default_ctor2.cpp | 6
   branches/proto/v3/libs/serialization/test/test_non_intrusive.cpp | 8
   branches/proto/v3/libs/serialization/test/test_not_serializable.cpp | 6
   branches/proto/v3/libs/serialization/test/test_null_ptr.cpp | 6
   branches/proto/v3/libs/serialization/test/test_nvp.cpp | 11
   branches/proto/v3/libs/serialization/test/test_object.cpp | 6
   branches/proto/v3/libs/serialization/test/test_optional.cpp | 7
   branches/proto/v3/libs/serialization/test/test_pimpl.cpp | 2
   branches/proto/v3/libs/serialization/test/test_polymorphic.cpp | 23
   branches/proto/v3/libs/serialization/test/test_polymorphic_A.cpp | 2
   branches/proto/v3/libs/serialization/test/test_primitive.cpp | 6
   branches/proto/v3/libs/serialization/test/test_recursion.cpp | 7
   branches/proto/v3/libs/serialization/test/test_registered.cpp | 47
   branches/proto/v3/libs/serialization/test/test_reset_object_address.cpp | 11
   branches/proto/v3/libs/serialization/test/test_set.cpp | 59
   branches/proto/v3/libs/serialization/test/test_shared_ptr.cpp | 14
   branches/proto/v3/libs/serialization/test/test_shared_ptr_132.cpp | 14
   branches/proto/v3/libs/serialization/test/test_simple_class.cpp | 8
   branches/proto/v3/libs/serialization/test/test_simple_class_ptr.cpp | 7
   branches/proto/v3/libs/serialization/test/test_split.cpp | 6
   branches/proto/v3/libs/serialization/test/test_static_warning.cpp | 3
   branches/proto/v3/libs/serialization/test/test_tools.hpp | 105
   branches/proto/v3/libs/serialization/test/test_tracking.cpp | 6
   branches/proto/v3/libs/serialization/test/test_traits_fail.cpp | 2
   branches/proto/v3/libs/serialization/test/test_traits_pass.cpp | 2
   branches/proto/v3/libs/serialization/test/test_unregistered.cpp | 35
   branches/proto/v3/libs/serialization/test/test_valarray.cpp | 6
   branches/proto/v3/libs/serialization/test/test_variant.cpp | 11
   branches/proto/v3/libs/serialization/test/test_vector.cpp | 7
   branches/proto/v3/libs/serialization/test/test_void_cast.cpp | 165
   branches/proto/v3/libs/serialization/test/text_archive.hpp | 1
   branches/proto/v3/libs/serialization/test/text_warchive.hpp | 6
   branches/proto/v3/libs/serialization/test/xml_archive.hpp | 3
   branches/proto/v3/libs/serialization/test/xml_warchive.hpp | 3
   branches/proto/v3/libs/serialization/vc7ide/BoostSerializationLibrary.sln | 11977 ++++++++++++++++++++++-----------------
   branches/proto/v3/libs/serialization/vc7ide/Library.vcproj | 1874 +++---
   branches/proto/v3/libs/serialization/vc7ide/LibraryW.vcproj | 1024 +-
   branches/proto/v3/libs/serialization/vc7ide/demo.vcproj | 860 +-
   branches/proto/v3/libs/serialization/vc7ide/demo_auto_ptr.vcproj | 859 +-
   branches/proto/v3/libs/serialization/vc7ide/demo_exception.vcproj | 859 +-
   branches/proto/v3/libs/serialization/vc7ide/demo_fast_archive.vcproj | 859 +-
   branches/proto/v3/libs/serialization/vc7ide/demo_pimpl.vcproj | 871 +-
   branches/proto/v3/libs/serialization/vc7ide/demo_polymorphic.vcproj | 865 +-
   branches/proto/v3/libs/serialization/vc7ide/demo_portable_archive.vcproj | 888 +-
   branches/proto/v3/libs/serialization/vc7ide/demo_shared_ptr.vcproj | 859 +-
   branches/proto/v3/libs/serialization/vc7ide/demo_xml.vcproj | 865 +-
   branches/proto/v3/libs/serialization/vc7ide/demo_xml_load.vcproj | 865 +-
   branches/proto/v3/libs/serialization/vc7ide/demo_xml_save.vcproj | 865 +-
   branches/proto/v3/libs/serialization/vc7ide/test_array.vcproj | 3399 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_binary.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_class_info_load.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_class_info_save.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_codecvt_null.vcproj | 767 +-
   branches/proto/v3/libs/serialization/vc7ide/test_const.vcproj | 788 +-
   branches/proto/v3/libs/serialization/vc7ide/test_const_fail.vcproj | 920 +-
   branches/proto/v3/libs/serialization/vc7ide/test_const_pass.vcproj | 854 +-
   branches/proto/v3/libs/serialization/vc7ide/test_contained_class.vcproj | 3392 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_cyclic_ptrs.vcproj | 3390 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_delete_pointer.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_deque.vcproj | 3391 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_derived.vcproj | 3380 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_derived_class.vcproj | 3383 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_derived_class_ptr.vcproj | 3384 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_diamond.vcproj | 3380 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_exported.vcproj | 3395 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_inclusion.vcproj | 854 +-
   branches/proto/v3/libs/serialization/vc7ide/test_iterators.vcproj | 761 +-
   branches/proto/v3/libs/serialization/vc7ide/test_iterators_base64.vcproj | 761 +-
   branches/proto/v3/libs/serialization/vc7ide/test_list.vcproj | 3390 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_list_ptrs.vcproj | 3390 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_map.vcproj | 3390 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_mi.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_mult_archive_types.vcproj | 761 +-
   branches/proto/v3/libs/serialization/vc7ide/test_multiple_ptrs.vcproj | 3396 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_no_rtti.vcproj | 3392 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_non_default_ctor.vcproj | 3379 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_non_default_ctor2.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_non_intrusive.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_not_serializable.vcproj | 296
   branches/proto/v3/libs/serialization/vc7ide/test_null_ptr.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_nvp.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_object.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_optional.vcproj | 3387 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_polymorphic.vcproj | 3402 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_primitive.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_private_ctor.vcproj | 761 +-
   branches/proto/v3/libs/serialization/vc7ide/test_recursion.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_recusion.vcproj | 3348 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_registered.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_reset_object_addr.vcproj | 769 +-
   branches/proto/v3/libs/serialization/vc7ide/test_set.vcproj | 3385 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_shared_ptr.vcproj | 3384 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_shared_ptr_132.vcproj | 3429 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_simple_class.vcproj | 3395 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_simple_class_ptr.vcproj | 3390 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_smart_cast.vcproj | 767 +-
   branches/proto/v3/libs/serialization/vc7ide/test_split.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_static_warning.vcproj | 761 +-
   branches/proto/v3/libs/serialization/vc7ide/test_tracking.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_traits_fail.vcproj | 843 +-
   branches/proto/v3/libs/serialization/vc7ide/test_traits_pass.vcproj | 761 +-
   branches/proto/v3/libs/serialization/vc7ide/test_unregistered.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_utf8_codecvt.vcproj | 781 +-
   branches/proto/v3/libs/serialization/vc7ide/test_variant.vcproj | 3378 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_vector.vcproj | 3390 +++++-----
   branches/proto/v3/libs/serialization/vc7ide/test_void_cast.vcproj | 774 +-
   branches/proto/v3/libs/smart_ptr/test/Jamfile.v2 | 2
   branches/proto/v3/libs/smart_ptr/test/shared_from_this_test.cpp | 3
   branches/proto/v3/libs/test/doc/components/utf/components/index.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/abstract_interface.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/auto_register_facility.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/boost_function_tc.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/class_tc.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/function_tc.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/index.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/param_boost_function_tc.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/param_class_tc.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/param_function_tc.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_case/tc_template.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_log/custom_log_formatter.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_log/index.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_result/index.html | 2
   branches/proto/v3/libs/test/doc/components/utf/components/test_suite/index.html | 2
   branches/proto/v3/libs/test/doc/components/utf/parameters/build_info.html | 2
   branches/proto/v3/libs/test/doc/components/utf/parameters/catch_system_errors.html | 2
   branches/proto/v3/libs/test/doc/components/utf/parameters/detect_memory_leaks.html | 2
   branches/proto/v3/libs/test/doc/components/utf/parameters/index.html | 2
   branches/proto/v3/libs/test/doc/components/utf/parameters/log_format.html | 2
   branches/proto/v3/libs/test/doc/components/utf/parameters/log_level.html | 2
   branches/proto/v3/libs/test/doc/components/utf/parameters/no_result_code.html | 2
   branches/proto/v3/libs/test/doc/components/utf/parameters/output_format.html | 2
   branches/proto/v3/libs/test/doc/components/utf/parameters/random.html | 2
   branches/proto/v3/libs/test/doc/components/utf/parameters/report_format.html | 6
   branches/proto/v3/libs/test/doc/components/utf/parameters/report_level.html | 2
   branches/proto/v3/libs/test/doc/components/utf/parameters/show_progress.html | 2
   branches/proto/v3/libs/test/doc/examples/unit_test_example1.html | 4
   branches/proto/v3/libs/test/doc/examples/unit_test_example2.html | 6
   branches/proto/v3/libs/test/doc/examples/unit_test_example3.html | 6
   branches/proto/v3/libs/test/doc/examples/unit_test_example4.html | 4
   branches/proto/v3/libs/test/doc/examples/unit_test_example5.html | 6
   branches/proto/v3/libs/test/doc/tutorials/hello_the_testing_world.html | 4
   branches/proto/v3/libs/test/doc/tutorials/new_year_resolution.html | 4
   branches/proto/v3/libs/thread/src/pthread/thread.cpp | 2
   branches/proto/v3/libs/thread/src/win32/tss_pe.cpp | 9
   branches/proto/v3/libs/thread/test/condition_test_common.hpp | 2
   branches/proto/v3/libs/thread/test/shared_mutex_locking_thread.hpp | 8
   branches/proto/v3/libs/thread/test/test_condition.cpp | 3
   branches/proto/v3/libs/thread/test/test_shared_mutex_part_2.cpp | 4
   branches/proto/v3/libs/thread/test/test_tss.cpp | 2
   branches/proto/v3/libs/thread/test/util.inl | 5
   branches/proto/v3/libs/unordered/doc/Jamfile.v2 | 2
   branches/proto/v3/libs/xpressive/doc/actions.qbk | 5
   branches/proto/v3/libs/xpressive/doc/history.qbk | 2
   branches/proto/v3/libs/xpressive/doc/installation.qbk | 3
   branches/proto/v3/libs/xpressive/doc/introduction.qbk | 26
   branches/proto/v3/libs/xpressive/doc/static_regexes.qbk | 2
   branches/proto/v3/tools/build/v2/build/virtual-target.jam | 6
   branches/proto/v3/tools/inspect/link_check.cpp | 58
   branches/proto/v3/tools/regression/xsl_reports/email_maintainers.py | 2
   346 files changed, 93668 insertions(+), 89244 deletions(-)

Modified: branches/proto/v3/boost/archive/array/iarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/array/iarchive.hpp (original)
+++ branches/proto/v3/boost/archive/array/iarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -8,17 +8,16 @@
 
 
 #include <boost/archive/basic_archive.hpp>
-#include <boost/archive/archive_exception.hpp>
 #include <boost/archive/detail/common_iarchive.hpp>
-#include <boost/serialization/nvp.hpp>
 #include <boost/serialization/array.hpp>
 #include <boost/serialization/collection_size_type.hpp>
+#include <boost/serialization/nvp.hpp>
 #include <boost/serialization/detail/get_data.hpp>
 #include <boost/type_traits/is_same.hpp>
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/bool.hpp>
 #include <boost/pfto.hpp>
-
+//#include <boost/archive/archive_exception.hpp>
 
 namespace boost { namespace archive { namespace array {
 
@@ -51,8 +50,8 @@
   {}
 
 
- // save_override for std::vector and serialization::array dispatches to
- // save_optimized with an additional argument.
+ // load_override for std::vector and serialization::array dispatches to
+ // load_optimized with an additional argument.
   //
   // If that argument is of type mpl::true_, an optimized serialization is provided
   // If it is false, we just forward to the default serialization in the base class
@@ -65,9 +64,9 @@
   }
 
   // the optimized implementation for vector uses serialization::array
- template<class U, class Allocator>
+ template<class ValueType, class Allocator>
   void load_optimized(
- std::vector<U, Allocator> &t, unsigned int version, mpl::true_)
+ std::vector<ValueType, Allocator> &t, unsigned int version, mpl::true_)
   {
     t.clear();
     // retrieve number of elements
@@ -86,7 +85,6 @@
     this->This()->load_array(t,version);
   }
 
-
   // to load a vector:
   // if the value type is trivially constructable or an optimized array save exists,
   // then we can use the optimized version
@@ -103,7 +101,6 @@
     load_optimized(x,version, use_optimized() );
   }
   
-
   // dispatch loading of arrays to the optimized version where supported
   template<class ValueType>
   void load_override(serialization::array<ValueType> const& x, unsigned int version)
@@ -123,10 +120,7 @@
   }
 };
 
-
 } } } // end namespace boost::archive::array
 
-
-
 #endif // BOOST_ARCHIVE_ARRAY_OARCHIVE_HPP
 

Modified: branches/proto/v3/boost/archive/array/oarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/array/oarchive.hpp (original)
+++ branches/proto/v3/boost/archive/array/oarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -13,11 +13,11 @@
 #include <boost/serialization/collection_size_type.hpp>
 #include <boost/serialization/nvp.hpp>
 #include <boost/serialization/detail/get_data.hpp>
-#include <boost/type_traits/remove_const.hpp>
 #include <boost/type_traits/is_same.hpp>
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/bool.hpp>
 #include <boost/pfto.hpp>
+#include <boost/type_traits/remove_const.hpp>
 
 namespace boost { namespace archive { namespace array {
 
@@ -63,7 +63,6 @@
     Base::save_override(t, version);
   }
 
-
   // the optimized implementation for vector uses serialization::array
   template<class ValueType, class Allocator>
   void save_optimized(
@@ -83,7 +82,6 @@
     this->This()->save_array(t,version);
   }
 
-
   // to save a vector:
   // if the value type is trivially constructable or an optimized array save exists,
   // then we can use the optimized version
@@ -100,8 +98,6 @@
>::type use_optimized;
     save_optimized(x,version,use_optimized() );
   }
-
-
   
   // dispatch saving of arrays to the optimized version where supported
   template<class ValueType>
@@ -125,6 +121,4 @@
 
 } } } // end namespace boost::archive::array
 
-
 #endif // BOOST_ARCHIVE_ARRAY_OARCHIVE_HPP
-

Modified: branches/proto/v3/boost/archive/basic_archive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/basic_archive.hpp (original)
+++ branches/proto/v3/boost/archive/basic_archive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -86,8 +86,8 @@
     no_header = 1, // suppress archive header info
     no_codecvt = 2, // suppress alteration of codecvt facet
     no_xml_tag_checking = 4, // suppress checking of xml tags
- no_tracking = 8 // suppress ALL tracking
-// no_object_creation = 16 // don't create any new objects
+ no_tracking = 8, // suppress ALL tracking
+ flags_last = 8
 };
 
 #define NULL_POINTER_TAG class_id_type(-1)

Modified: branches/proto/v3/boost/archive/basic_binary_iarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/basic_binary_iarchive.hpp (original)
+++ branches/proto/v3/boost/archive/basic_binary_iarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -59,7 +59,7 @@
     typedef array::iarchive<Archive> array_iarchive;
     template<class T>
     void load_override(T & t, BOOST_PFTO int){
- this->array_iarchive::load_override(t, 0);
+ this->array_iarchive::load_override(t, 0L);
     }
     // binary files don't include the optional information
     void load_override(class_id_optional_type & /* t */, int){}

Modified: branches/proto/v3/boost/archive/basic_binary_iprimitive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/basic_binary_iprimitive.hpp (original)
+++ branches/proto/v3/boost/archive/basic_binary_iprimitive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -6,6 +6,10 @@
 # pragma once
 #endif
 
+#if defined(_MSC_VER)
+#pragma warning( disable : 4800 )
+#endif
+
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
 // basic_binary_iprimitive.hpp
 //
@@ -72,8 +76,11 @@
     Archive * This(){
         return static_cast<Archive *>(this);
     }
+
+ #ifndef BOOST_NO_STD_LOCALE
     boost::scoped_ptr<std::locale> archive_locale;
     basic_streambuf_locale_saver<Elem, Tr> locale_saver;
+ #endif
 
     // main template for serilization of primitive types
     template<class T>
@@ -158,7 +165,7 @@
             boost::throw_exception(
                 archive_exception(archive_exception::stream_error)
             );
- std::memcpy(address, &t, s);
+ std::memcpy(static_cast<char*>(address) + (count - s), &t, s);
     }
 }
 

Modified: branches/proto/v3/boost/archive/basic_binary_oarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/basic_binary_oarchive.hpp (original)
+++ branches/proto/v3/boost/archive/basic_binary_oarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -61,12 +61,14 @@
     typedef array::oarchive<Archive> array_oarchive;
     template<class T>
     void save_override(const T & t, BOOST_PFTO int){
- this->array_oarchive::save_override(t, 0);
+ this->array_oarchive::save_override(t, 0L);
     }
+ /*
     template<class T>
     void save_override(T & t, BOOST_PFTO int){
- this->save_override(const_cast<const T &>(t), 0);
+ this->save_override(const_cast<const T &>(t), 0L);
     }
+ */
     // binary files don't include the optional information
     void save_override(const class_id_optional_type & /* t */, int){}
 

Modified: branches/proto/v3/boost/archive/basic_binary_oprimitive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/basic_binary_oprimitive.hpp (original)
+++ branches/proto/v3/boost/archive/basic_binary_oprimitive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -71,9 +71,10 @@
     Archive * This(){
         return static_cast<Archive *>(this);
     }
+ #ifndef BOOST_NO_STD_LOCALE
     boost::scoped_ptr<std::locale> archive_locale;
     basic_streambuf_locale_saver<Elem, Tr> locale_saver;
-
+ #endif
     // default saving of primitives.
     template<class T>
     void save(const T & t)
@@ -87,8 +88,7 @@
     // trap usage of invalid uninitialized boolean which would
     // otherwise crash on load.
     void save(const bool t){
- int i = t;
- assert(0 == i || 1 == i);
+ assert(0 == static_cast<int>(t) || 1 == static_cast<int>(t));
         save_binary(& t, sizeof(t));
     }
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)

Modified: branches/proto/v3/boost/archive/basic_streambuf_locale_saver.hpp
==============================================================================
--- branches/proto/v3/boost/archive/basic_streambuf_locale_saver.hpp (original)
+++ branches/proto/v3/boost/archive/basic_streambuf_locale_saver.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -25,14 +25,13 @@
 // See <http://www.boost.org/libs/io/> for the library's home page.
 
 #ifndef BOOST_NO_STD_LOCALE
+
 #include <locale> // for std::locale
-#endif
 #include <streambuf> // for std::basic_streambuf
 
 namespace boost{
 namespace archive{
 
-#ifndef BOOST_NO_STD_LOCALE
 template < typename Ch, class Tr >
 class basic_streambuf_locale_saver
 {

Modified: branches/proto/v3/boost/archive/basic_text_iprimitive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/basic_text_iprimitive.hpp (original)
+++ branches/proto/v3/boost/archive/basic_text_iprimitive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -68,10 +68,14 @@
     IStream &is;
     io::ios_flags_saver flags_saver;
     io::ios_precision_saver precision_saver;
+
+ #ifndef BOOST_NO_STD_LOCALE
     boost::scoped_ptr<std::locale> archive_locale;
     io::basic_ios_locale_saver<
         BOOST_DEDUCED_TYPENAME IStream::char_type, BOOST_DEDUCED_TYPENAME IStream::traits_type
> locale_saver;
+ #endif
+
     template<class T>
     void load(T & t)
     {

Modified: branches/proto/v3/boost/archive/basic_text_oarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/basic_text_oarchive.hpp (original)
+++ branches/proto/v3/boost/archive/basic_text_oarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -38,7 +38,7 @@
 namespace archive {
 
 /////////////////////////////////////////////////////////////////////////
-// class basic_text_iarchive - read serialized objects from a input text stream
+// class basic_text_oarchive
 template<class Archive>
 class basic_text_oarchive :
     public detail::common_oarchive<Archive>

Modified: branches/proto/v3/boost/archive/basic_text_oprimitive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/basic_text_oprimitive.hpp (original)
+++ branches/proto/v3/boost/archive/basic_text_oprimitive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -71,10 +71,13 @@
     OStream &os;
     io::ios_flags_saver flags_saver;
     io::ios_precision_saver precision_saver;
+
+ #ifndef BOOST_NO_STD_LOCALE
     boost::scoped_ptr<std::locale> archive_locale;
     io::basic_ios_locale_saver<
         BOOST_DEDUCED_TYPENAME OStream::char_type, BOOST_DEDUCED_TYPENAME OStream::traits_type
> locale_saver;
+ #endif
 
     // default saving of primitives.
     template<class T>
@@ -89,8 +92,7 @@
     void save(const bool t){
         // trap usage of invalid uninitialized boolean which would
         // otherwise crash on load.
- int i = t;
- assert(0 == i || 1 == i);
+ assert(0 == static_cast<int>(t) || 1 == static_cast<int>(t));
         if(os.fail())
             boost::throw_exception(archive_exception(archive_exception::stream_error));
         os << t;

Modified: branches/proto/v3/boost/archive/basic_xml_archive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/basic_xml_archive.hpp (original)
+++ branches/proto/v3/boost/archive/basic_xml_archive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -24,41 +24,6 @@
 namespace boost {
 namespace archive {
 
-//////////////////////////////////////////////////////////////////////
-// exceptions thrown by xml archives
-//
-class xml_archive_exception :
- public virtual archive_exception
-{
-public:
- typedef enum {
- xml_archive_parsing_error, // see save_register
- xml_archive_tag_mismatch,
- xml_archive_tag_name_error
- } exception_code;
- xml_archive_exception(exception_code c)
- {}
- virtual const char *what( ) const throw( )
- {
- const char *msg;
- switch(code){
- case xml_archive_parsing_error:
- msg = "unrecognized XML syntax";
- break;
- case xml_archive_tag_mismatch:
- msg = "XML start/end tag mismatch";
- break;
- case xml_archive_tag_name_error:
- msg = "Invalid XML tag name";
- break;
- default:
- msg = archive_exception::what();
- break;
- }
- return msg;
- }
-};
-
 // constant strings used in xml i/o
 
 extern

Modified: branches/proto/v3/boost/archive/binary_iarchive_impl.hpp
==============================================================================
--- branches/proto/v3/boost/archive/binary_iarchive_impl.hpp (original)
+++ branches/proto/v3/boost/archive/binary_iarchive_impl.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -42,7 +42,7 @@
     // make this protected so it can be called from a derived archive
     template<class T>
     void load_override(T & t, BOOST_PFTO int){
- basic_binary_iarchive<Archive>::load_override(t, 0);
+ this->basic_binary_iarchive<Archive>::load_override(t, 0L);
     }
     void init(unsigned int flags){
         if(0 != (flags & no_header))

Modified: branches/proto/v3/boost/archive/binary_oarchive_impl.hpp
==============================================================================
--- branches/proto/v3/boost/archive/binary_oarchive_impl.hpp (original)
+++ branches/proto/v3/boost/archive/binary_oarchive_impl.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -42,7 +42,7 @@
     // make this protected so it can be called from a derived archive
     template<class T>
     void save_override(T & t, BOOST_PFTO int){
- basic_binary_oarchive<Archive>::save_override(t, 0);
+ this->basic_binary_oarchive<Archive>::save_override(t, 0L);
     }
     void init(unsigned int flags) {
         if(0 != (flags & no_header))

Modified: branches/proto/v3/boost/archive/codecvt_null.hpp
==============================================================================
--- branches/proto/v3/boost/archive/codecvt_null.hpp (original)
+++ branches/proto/v3/boost/archive/codecvt_null.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,6 +18,7 @@
 
 #include <locale>
 #include <cstddef>
+#include <wchar.h> // for mbstate_t
 
 #include <boost/config.hpp>
 #include <boost/archive/detail/auto_link_archive.hpp>
@@ -59,7 +60,7 @@
 template<>
 class codecvt_null<wchar_t> : public std::codecvt<wchar_t, char, std::mbstate_t>
 {
- virtual BOOST_ARCHIVE_DECL(std::codecvt_base::result)
+ virtual BOOST_WARCHIVE_DECL(std::codecvt_base::result)
     do_out(
         std::mbstate_t & state,
         const wchar_t * first1,
@@ -69,7 +70,7 @@
         char * last2,
         char * & next2
     ) const;
- virtual BOOST_ARCHIVE_DECL(std::codecvt_base::result)
+ virtual BOOST_WARCHIVE_DECL(std::codecvt_base::result)
     do_in(
         std::mbstate_t & state,
         const char * first1,

Modified: branches/proto/v3/boost/archive/detail/archive_pointer_iserializer.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/archive_pointer_iserializer.hpp (original)
+++ branches/proto/v3/boost/archive/detail/archive_pointer_iserializer.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -76,8 +76,7 @@
     // type_info. returns NULL if there is no such instance. This
     // would indicate that the no object of the specified type was loaded
     // any where in the code.
- static
- BOOST_ARCHIVE_OR_WARCHIVE_DECL(const basic_pointer_iserializer *)
+ static BOOST_ARCHIVE_OR_WARCHIVE_DECL(const basic_pointer_iserializer *)
     find(
         const boost::serialization::extended_type_info & eti
     );

Modified: branches/proto/v3/boost/archive/detail/archive_pointer_oserializer.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/archive_pointer_oserializer.hpp (original)
+++ branches/proto/v3/boost/archive/detail/archive_pointer_oserializer.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -51,8 +51,7 @@
     // type_info. returns NULL, if there is no such instance. This
     // would indicate that the no object of the specified type was saved
     // any where in the code.
- static
- BOOST_ARCHIVE_OR_WARCHIVE_DECL(const basic_pointer_oserializer *)
+ static BOOST_ARCHIVE_OR_WARCHIVE_DECL(const basic_pointer_oserializer *)
     find(
         const boost::serialization::extended_type_info & eti
     );

Modified: branches/proto/v3/boost/archive/detail/auto_link_archive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/auto_link_archive.hpp (original)
+++ branches/proto/v3/boost/archive/detail/auto_link_archive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -25,23 +25,24 @@
 
 #include <boost/archive/detail/decl.hpp>
 
-#if !defined(BOOST_ARCHIVE_SOURCE) \
-&& !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB)
+#if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB) \
+&& !defined(BOOST_ARCHIVE_SOURCE) && !defined(BOOST_WARCHIVE_SOURCE) \
+&& !defined(BOOST_SERIALIZATION_SOURCE)
 
-// Set the name of our library, this will get undef'ed by auto_link.hpp
-// once it's done with it:
-//
-#define BOOST_LIB_NAME boost_serialization
-//
-// If we're importing code from a dll, then tell auto_link.hpp about it:
-//
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
-# define BOOST_DYN_LINK
-#endif
-//
-// And include the header that does the work:
-//
-#include <boost/config/auto_link.hpp>
+ // Set the name of our library, this will get undef'ed by auto_link.hpp
+ // once it's done with it:
+ //
+ #define BOOST_LIB_NAME boost_serialization
+ //
+ // If we're importing code from a dll, then tell auto_link.hpp about it:
+ //
+ #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
+ # define BOOST_DYN_LINK
+ #endif
+ //
+ // And include the header that does the work:
+ //
+ #include <boost/config/auto_link.hpp>
 #endif // auto-linking disabled
 
 #endif // ARCHIVE_DETAIL_AUTO_LINK_ARCHIVE_HPP

Modified: branches/proto/v3/boost/archive/detail/basic_iarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/basic_iarchive.hpp (original)
+++ branches/proto/v3/boost/archive/detail/basic_iarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -20,15 +20,12 @@
 // #include <boost/scoped_ptr.hpp>
 
 #include <boost/config.hpp>
-#include <boost/archive/basic_archive.hpp>
 #include <boost/serialization/tracking_enum.hpp>
-
+#include <boost/archive/basic_archive.hpp>
+#include <boost/archive/detail/decl.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
 namespace boost {
-template<class T>
-class shared_ptr;
-
 namespace serialization {
     class extended_type_info;
 } // namespace serialization
@@ -66,17 +63,19 @@
     // note: NOT part of the public API.
     void next_object_pointer(void *t);
     void register_basic_serializer(
- const basic_iserializer & bis
+ const /* BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) */ basic_iserializer & bis
     );
     void load_object(
         void *t,
- const basic_iserializer & bis
+ const /* BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) */ basic_iserializer & bis
     );
- const basic_pointer_iserializer *
+ const /* BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) */ basic_pointer_iserializer *
     load_pointer(
         void * & t,
- const basic_pointer_iserializer * bpis_ptr,
- const basic_pointer_iserializer * (*finder)(
+ const /* BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) */
+ basic_pointer_iserializer * bpis_ptr,
+ const /* BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) */
+ basic_pointer_iserializer * (*finder)(
             const boost::serialization::extended_type_info & eti
         )
     );

Modified: branches/proto/v3/boost/archive/detail/basic_iserializer.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/basic_iserializer.hpp (original)
+++ branches/proto/v3/boost/archive/detail/basic_iserializer.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -16,13 +16,12 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 
-#include <cassert>
 #include <cstdlib> // NULL
 #include <boost/config.hpp>
 
-#include <boost/archive/detail/auto_link_archive.hpp>
+#include <boost/archive/detail/decl.hpp>
 #include <boost/archive/detail/basic_serializer.hpp>
-
+#include <boost/archive/detail/auto_link_archive.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
 namespace boost {
@@ -42,10 +41,10 @@
     public basic_serializer
 {
 private:
- basic_pointer_iserializer *bpis;
+ basic_pointer_iserializer *m_bpis;
 protected:
     explicit basic_iserializer(
- const boost::serialization::extended_type_info & type_
+ const boost::serialization::extended_type_info & type
     );
     // account for bogus gcc warning
     #if defined(__GNUC__)
@@ -54,13 +53,13 @@
     ~basic_iserializer();
 public:
     bool serialized_as_pointer() const {
- return bpis != NULL;
+ return m_bpis != NULL;
     }
- void set_bpis(basic_pointer_iserializer *bpis_){
- bpis = bpis_;
+ void set_bpis(basic_pointer_iserializer *bpis){
+ m_bpis = bpis;
     }
     const basic_pointer_iserializer * get_bpis_ptr() const {
- return bpis;
+ return m_bpis;
     }
     virtual void load_object_data(
         basic_iarchive & ar,

Modified: branches/proto/v3/boost/archive/detail/basic_oarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/basic_oarchive.hpp (original)
+++ branches/proto/v3/boost/archive/detail/basic_oarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -28,9 +28,6 @@
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
 namespace boost {
-template<class T>
-class shared_ptr;
-
 namespace serialization {
     class extended_type_info;
 } // namespace serialization

Modified: branches/proto/v3/boost/archive/detail/basic_oserializer.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/basic_oserializer.hpp (original)
+++ branches/proto/v3/boost/archive/detail/basic_oserializer.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -41,7 +41,7 @@
     public basic_serializer
 {
 private:
- basic_pointer_oserializer *bpos;
+ basic_pointer_oserializer *m_bpos;
 protected:
     explicit basic_oserializer(
         const boost::serialization::extended_type_info & type_
@@ -53,13 +53,13 @@
     ~basic_oserializer();
 public:
     bool serialized_as_pointer() const {
- return bpos != NULL;
+ return m_bpos != NULL;
     }
- void set_bpos(basic_pointer_oserializer *bpos_){
- bpos = bpos_;
+ void set_bpos(basic_pointer_oserializer *bpos){
+ m_bpos = bpos;
     }
     const basic_pointer_oserializer * get_bpos() const {
- return bpos;
+ return m_bpos;
     }
     virtual void save_object_data(
         basic_oarchive & ar, const void * x

Modified: branches/proto/v3/boost/archive/detail/basic_pointer_iserializer.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/basic_pointer_iserializer.hpp (original)
+++ branches/proto/v3/boost/archive/detail/basic_pointer_iserializer.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -1,5 +1,5 @@
-#ifndef BOOST_ARCHIVE_BASIC_ARCHIVE_POINTER_ISERIALIZER_HPP
-#define BOOST_ARCHIVE_BASIC_ARCHIVE_POINTER_ISERIALIZER_HPP
+#ifndef BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_HPP
+#define BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_HPP
 
 // MS compatible compilers support #pragma once
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
@@ -61,4 +61,4 @@
 
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
-#endif // BOOST_ARCHIVE_BASIC_ARCHIVE_POINTER_ISERIALIZER_HPP
+#endif // BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_HPP

Modified: branches/proto/v3/boost/archive/detail/basic_pointer_oserializer.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/basic_pointer_oserializer.hpp (original)
+++ branches/proto/v3/boost/archive/detail/basic_pointer_oserializer.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -1,5 +1,5 @@
-#ifndef BOOST_ARCHIVE_BASIC_ARCHIVE_POINTER_OSERIALIZER_HPP
-#define BOOST_ARCHIVE_BASIC_ARCHIVE_POINTER_OSERIALIZER_HPP
+#ifndef BOOST_ARCHIVE_BASIC_POINTER_OSERIALIZER_HPP
+#define BOOST_ARCHIVE_BASIC_POINTER_OSERIALIZER_HPP
 
 // MS compatible compilers support #pragma once
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
@@ -40,12 +40,12 @@
     explicit basic_pointer_oserializer(
         const boost::serialization::extended_type_info & type_
     );
+public:
     // account for bogus gcc warning
     #if defined(__GNUC__)
     virtual
     #endif
     ~basic_pointer_oserializer();
-public:
     virtual const basic_oserializer & get_basic_serializer() const = 0;
     virtual void save_object_ptr(
         basic_oarchive & ar,
@@ -59,4 +59,4 @@
 
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
-#endif // BOOST_ARCHIVE_BASIC_ARCHIVE_POINTER_OSERIALIZER_HPP
+#endif // BOOST_ARCHIVE_BASIC_POINTER_OSERIALIZER_HPP

Modified: branches/proto/v3/boost/archive/detail/basic_serializer.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/basic_serializer.hpp (original)
+++ branches/proto/v3/boost/archive/detail/basic_serializer.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -34,7 +34,9 @@
         const boost::serialization::extended_type_info & eti
     ) :
         m_eti(eti)
- {}
+ {
+ assert(NULL != & eti);
+ }
 public:
     const boost::serialization::extended_type_info & get_eti() const {
         return m_eti;
@@ -44,6 +46,13 @@
     }
 };
 
+class basic_serializer_arg : public basic_serializer {
+public:
+ basic_serializer_arg(const serialization::extended_type_info & eti) :
+ basic_serializer(eti)
+ {}
+};
+
 } // namespace detail
 } // namespace archive
 } // namespace boost

Modified: branches/proto/v3/boost/archive/detail/basic_serializer_map.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/basic_serializer_map.hpp (original)
+++ branches/proto/v3/boost/archive/detail/basic_serializer_map.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -38,28 +38,16 @@
 {
     bool operator()(
         const basic_serializer * lhs, const basic_serializer * rhs
- ) const ;
-};
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_serializer_map : public
- boost::noncopyable
-{
- typedef std::set<const basic_serializer *, type_info_pointer_compare> map_type;
- map_type m_map;
- bool & m_deleted;
-public:
- bool insert(const basic_serializer * bs);
- const basic_serializer * tfind(
- const boost::serialization::extended_type_info & type_
- ) const;
- void erase(basic_serializer * bs);
- basic_serializer_map(bool & deleted);
- ~basic_serializer_map();
-private:
- // cw 8.3 requires this
- basic_serializer_map& operator=(basic_serializer_map const&);
+ ) const {
+ return *lhs < *rhs;
+ }
 };
 
+typedef BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) std::set<
+ const basic_serializer *,
+ type_info_pointer_compare
+> basic_serializer_map;
+
 } // namespace detail
 } // namespace archive
 } // namespace boost

Deleted: branches/proto/v3/boost/archive/detail/dynamically_initialized.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/dynamically_initialized.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,45 +0,0 @@
-// Copyright David Abrahams 2006. 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)
-#ifndef BOOST_ARCHIVE_DETAIL_DYNAMICALLY_INITIALIZED_DWA2006524_HPP
-# define BOOST_ARCHIVE_DETAIL_DYNAMICALLY_INITIALIZED_DWA2006524_HPP
-
-# include <boost/serialization/force_include.hpp>
-
-namespace boost { namespace archive { namespace detail {
-
-//
-// Provides a dynamically-initialized (singleton) instance of T in a
-// way that avoids LNK1179 on vc6. See http://tinyurl.com/ljdp8 or
-// http://lists.boost.org/Archives/boost/2006/05/105286.php for
-// details.
-//
-template <class T>
-struct dynamically_initialized
-{
-protected:
- static T& instance;
-private:
- static T& get_instance();
-#if defined(__GNUC__)
- // Workaround "warning: all member functions in class `
- // boost::archive::detail::dynamically_initialized<T>' are private"
- public:
- void work_around_gcc_warning();
-#endif
-};
-
-template <class T>
-T& dynamically_initialized<T>::instance
- = dynamically_initialized<T>::get_instance();
-
-template <class T>
-T& dynamically_initialized<T>::get_instance()
-{
- static T instance_;
- return instance_;
-}
-
-}}} // namespace boost::archive::detail
-
-#endif // BOOST_ARCHIVE_DETAIL_DYNAMICALLY_INITIALIZED_DWA2006524_HPP

Modified: branches/proto/v3/boost/archive/detail/interface_iarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/interface_iarchive.hpp (original)
+++ branches/proto/v3/boost/archive/detail/interface_iarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -20,15 +20,10 @@
 #include <boost/mpl/bool.hpp>
 #include <boost/archive/detail/auto_link_archive.hpp>
 #include <boost/archive/detail/iserializer.hpp>
+#include <boost/serialization/singleton.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
 namespace boost {
-template<class T>
-class shared_ptr;
-namespace serialization {
- class extended_type_info;
-} // namespace serialization
-
 namespace archive {
 namespace detail {
 
@@ -54,7 +49,9 @@
     const basic_pointer_iserializer *
     register_type(T * = NULL){
         const basic_pointer_iserializer & bpis =
- pointer_iserializer<Archive, T>::get_instance();
+ boost::serialization::singleton<
+ pointer_iserializer<Archive, T>
+ >::get_const_instance();
         this->This()->register_basic_serializer(bpis.get_basic_serializer());
         return & bpis;
     }

Modified: branches/proto/v3/boost/archive/detail/interface_oarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/interface_oarchive.hpp (original)
+++ branches/proto/v3/boost/archive/detail/interface_oarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -23,12 +23,9 @@
 #include <boost/archive/detail/oserializer.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
-namespace boost {
-template<class T>
-class shared_ptr;
-namespace serialization {
- class extended_type_info;
-} // namespace serialization
+#include <boost/serialization/singleton.hpp>
+
+namespace boost {
 namespace archive {
 namespace detail {
 
@@ -54,7 +51,9 @@
     const basic_pointer_oserializer *
     register_type(const T * = NULL){
         const basic_pointer_oserializer & bpos =
- pointer_oserializer<Archive, T>::get_instance();
+ boost::serialization::singleton<
+ pointer_oserializer<Archive, T>
+ >::get_const_instance();
         this->This()->register_basic_serializer(bpos.get_basic_serializer());
         return & bpos;
     }

Modified: branches/proto/v3/boost/archive/detail/iserializer.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/iserializer.hpp (original)
+++ branches/proto/v3/boost/archive/detail/iserializer.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -40,12 +40,12 @@
 #include <boost/detail/no_exceptions_support.hpp>
 
 #include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_fundamental.hpp>
 #include <boost/type_traits/is_enum.hpp>
 #include <boost/type_traits/is_const.hpp>
 #include <boost/type_traits/remove_const.hpp>
 #include <boost/type_traits/remove_all_extents.hpp>
 #include <boost/serialization/is_abstract.hpp>
+#include <boost/type_traits/is_polymorphic.hpp>
 
 #include <boost/mpl/eval_if.hpp>
 #include <boost/mpl/if.hpp>
@@ -67,9 +67,7 @@
 #include <boost/archive/detail/basic_iarchive.hpp>
 #include <boost/archive/detail/basic_iserializer.hpp>
 #include <boost/archive/detail/archive_pointer_iserializer.hpp>
-#include <boost/archive/detail/dynamically_initialized.hpp>
 
-#include <boost/serialization/force_include.hpp>
 #include <boost/serialization/serialization.hpp>
 #include <boost/serialization/version.hpp>
 #include <boost/serialization/level.hpp>
@@ -79,6 +77,8 @@
 #include <boost/serialization/void_cast.hpp>
 #include <boost/serialization/array.hpp>
 #include <boost/serialization/collection_size_type.hpp>
+#include <boost/serialization/singleton.hpp>
+
 namespace boost {
 
 namespace serialization {
@@ -108,49 +108,40 @@
     }
     // private constructor to inhibit any existence other than the
     // static one
+public:
     explicit iserializer() :
         basic_iserializer(
- * boost::serialization::type_info_implementation<T>::type::get_instance()
+ boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance()
         )
     {}
-public:
- virtual BOOST_DLLEXPORT void load_object_data(
+ virtual void load_object_data(
         basic_iarchive & ar,
         void *x,
         const unsigned int file_version
- ) const BOOST_USED ;
+ ) const;
     virtual bool class_info() const {
         return boost::serialization::implementation_level<T>::value
>= boost::serialization::object_class_info;
     }
     virtual bool tracking(const unsigned int /* flags */) const {
-// if(0 != (flags & no_tracking))
-// return false;
         return boost::serialization::tracking_level<T>::value
                 == boost::serialization::track_always
- || boost::serialization::tracking_level<T>::value
+ || ( boost::serialization::tracking_level<T>::value
                 == boost::serialization::track_selectively
- && serialized_as_pointer();
+ && serialized_as_pointer());
     }
     virtual unsigned int version() const {
         return ::boost::serialization::version<T>::value;
     }
     virtual bool is_polymorphic() const {
- typedef BOOST_DEDUCED_TYPENAME
- boost::serialization::type_info_implementation<
- T
- >::type::is_polymorphic::type typex;
- return typex::value;
- }
- static iserializer & get_instance(){
- static iserializer instance;
- return instance;
+ return boost::is_polymorphic<T>::value;
     }
     virtual ~iserializer(){};
 };
 
 template<class Archive, class T>
-BOOST_DLLEXPORT void iserializer<Archive, T>::load_object_data(
+void iserializer<Archive, T>::load_object_data(
     basic_iarchive & ar,
     void *x,
     const unsigned int file_version
@@ -167,32 +158,20 @@
 template<class Archive, class T>
 class pointer_iserializer
   : public archive_pointer_iserializer<Archive>
- , public dynamically_initialized<pointer_iserializer<Archive,T> >
 {
 private:
     virtual const basic_iserializer & get_basic_serializer() const {
- return iserializer<Archive, T>::get_instance();
+ return boost::serialization::singleton<
+ iserializer<Archive, T>
+ >::get_const_instance();
     }
- virtual BOOST_DLLEXPORT void load_object_ptr(
+ virtual void load_object_ptr(
         basic_iarchive & ar,
         void * & x,
         const unsigned int file_version
- ) const BOOST_USED;
-#if defined(__GNUC__) || ( defined(BOOST_MSVC) && (_MSC_VER <= 1300) )
+ ) const ;
 public:
-#endif
- // private constructor to inhibit any existence other than the
- // static one. Note GCC doesn't permit constructor to be private
- BOOST_DLLEXPORT pointer_iserializer() BOOST_USED;
- friend struct dynamically_initialized<pointer_iserializer<Archive,T> >;
-public:
- // at least one compiler (CW) seems to require that serialize_adl
- // be explicitly instantiated. Still under investigation.
- #if !defined(__BORLANDC__)
- void (* const m)(Archive &, T &, const unsigned);
- boost::serialization::extended_type_info * (* e)();
- #endif
- BOOST_DLLEXPORT static const pointer_iserializer & get_instance() BOOST_USED;
+ pointer_iserializer();
 };
 
 // note trick to be sure that operator new is using class specific
@@ -266,7 +245,7 @@
 };
 
 template<class Archive, class T>
-BOOST_DLLEXPORT void pointer_iserializer<Archive, T>::load_object_ptr(
+void pointer_iserializer<Archive, T>::load_object_ptr(
     basic_iarchive & ar,
     void * & x,
     const unsigned int file_version
@@ -305,29 +284,15 @@
 }
 
 template<class Archive, class T>
-#if !defined(__BORLANDC__)
-BOOST_DLLEXPORT pointer_iserializer<Archive, T>::pointer_iserializer() :
+pointer_iserializer<Archive, T>::pointer_iserializer() :
     archive_pointer_iserializer<Archive>(
- * boost::serialization::type_info_implementation<T>::type::get_instance()
- ),
- m(boost::serialization::serialize_adl<Archive, T>),
- e(boost::serialization::type_info_implementation<T>::type::get_instance)
-#else
-BOOST_DLLEXPORT pointer_iserializer<Archive, T>::pointer_iserializer() :
- archive_pointer_iserializer<Archive>(
- * boost::serialization::type_info_implementation<T>::type::get_instance()
+ boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance()
     )
-#endif
 {
- iserializer<Archive, T> & bis = iserializer<Archive, T>::get_instance();
- bis.set_bpis(this);
-}
-
-template<class Archive, class T>
-BOOST_DLLEXPORT const pointer_iserializer<Archive, T> &
-pointer_iserializer<Archive, T>::get_instance() {
- // note: comeau complains without full qualification
- return dynamically_initialized<pointer_iserializer<Archive,T> >::instance;
+ boost::serialization::singleton<
+ iserializer<Archive, T>
+ >::get_mutable_instance().set_bpis(this);
 }
 
 template<class Archive, class T>
@@ -361,7 +326,12 @@
             // its not called that way - so fix it her
             typedef BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type typex;
             void * x = & const_cast<typex &>(t);
- ar.load_object(x, iserializer<Archive, T>::get_instance());
+ ar.load_object(
+ x,
+ boost::serialization::singleton<
+ iserializer<Archive, T>
+ >::get_const_instance()
+ );
         }
     };
 
@@ -405,6 +375,11 @@
> > >::type typex;
 
     static void invoke(Archive & ar, T &t){
+ // check that we're not trying to serialize something that
+ // has been marked not to be serialized. If this your program
+ // traps here, you've tried to serialize a class whose trait
+ // has been marked "non-serializable". Either reset the trait
+ // (see level.hpp) or change program not to serialize items of this class
         BOOST_STATIC_ASSERT((
             mpl::greater_equal<
                 boost::serialization::implementation_level<T>,
@@ -421,12 +396,8 @@
     struct abstract
     {
         static const basic_pointer_iserializer * register_type(Archive & /* ar */){
- #if ! defined(__BORLANDC__)
- typedef BOOST_DEDUCED_TYPENAME
- boost::serialization::type_info_implementation<T>::type::is_polymorphic typex;
             // it has? to be polymorphic
- BOOST_STATIC_ASSERT(typex::value);
- #endif
+ BOOST_STATIC_ASSERT(boost::is_polymorphic<T>::value);
             return static_cast<basic_pointer_iserializer *>(NULL);
          }
     };
@@ -447,7 +418,7 @@
         // virtual serialize functions used for plug-ins
         typedef BOOST_DEDUCED_TYPENAME
             mpl::eval_if<
- serialization::is_abstract<T>,
+ serialization::is_abstract<const T>,
                 mpl::identity<abstract<T> >,
                 mpl::identity<non_abstract<T> >
>::type typex;
@@ -464,7 +435,8 @@
         return static_cast<T *>(
             boost::serialization::void_upcast(
                 eti,
- * boost::serialization::type_info_implementation<T>::type::get_instance(),
+ boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance(),
                 t
             )
         );
@@ -514,27 +486,6 @@
     }
 };
 
-#if 0
-// note bogus arguments to workaround msvc 6 silent runtime failure
-template<class Archive, class T>
-BOOST_DLLEXPORT
-inline const basic_pointer_iserializer &
-instantiate_pointer_iserializer(
- Archive * /* ar = NULL */,
- T * /* t = NULL */
-) BOOST_USED;
-
-template<class Archive, class T>
-BOOST_DLLEXPORT
-inline const basic_pointer_iserializer &
-instantiate_pointer_iserializer(
- Archive * /* ar = NULL */,
- T * /* t = NULL */
-){
- return pointer_iserializer<Archive,T>::instance;
-}
-#endif
-
 } // detail
 
 template<class Archive, class T>
@@ -572,7 +523,7 @@
 // for loading const objects - but I see no alternative
 template<class Archive, class T>
 inline void load(Archive &ar, const T & t){
- load(ar, const_cast<T &>(t));
+ load(ar, const_cast<T &>(t));
 }
 #endif
 
@@ -580,7 +531,7 @@
 #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
 template<class Archive, class T>
 inline void load_wrapper(Archive &ar, const T&t, mpl::true_){
- boost::archive::load(ar, const_cast<T&>(t));
+ boost::archive::load(ar, const_cast<T&>(t));
 }
 
 #if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))

Modified: branches/proto/v3/boost/archive/detail/oserializer.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/oserializer.hpp (original)
+++ branches/proto/v3/boost/archive/detail/oserializer.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -32,23 +32,23 @@
 #include <boost/static_warning.hpp>
 
 #include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_fundamental.hpp>
 #include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_volatile.hpp>
+//#include <boost/type_traits/is_volatile.hpp>
 #include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_same.hpp>
+//#include <boost/type_traits/is_same.hpp>
+#include <boost/type_traits/is_polymorphic.hpp>
 #include <boost/type_traits/remove_all_extents.hpp>
 #include <boost/serialization/is_abstract.hpp>
 
 #include <boost/mpl/eval_if.hpp>
 #include <boost/mpl/and.hpp>
-#include <boost/mpl/less.hpp>
+//#include <boost/mpl/less.hpp>
 #include <boost/mpl/greater_equal.hpp>
 #include <boost/mpl/equal_to.hpp>
 #include <boost/mpl/int.hpp>
 #include <boost/mpl/identity.hpp>
-#include <boost/mpl/list.hpp>
-#include <boost/mpl/empty.hpp>
+//#include <boost/mpl/list.hpp>
+//#include <boost/mpl/empty.hpp>
 #include <boost/mpl/not.hpp>
 
  #ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO
@@ -58,9 +58,7 @@
 #include <boost/archive/detail/basic_oarchive.hpp>
 #include <boost/archive/detail/basic_oserializer.hpp>
 #include <boost/archive/detail/archive_pointer_oserializer.hpp>
-#include <boost/archive/detail/dynamically_initialized.hpp>
 
-#include <boost/serialization/force_include.hpp>
 #include <boost/serialization/serialization.hpp>
 #include <boost/serialization/version.hpp>
 #include <boost/serialization/level.hpp>
@@ -70,6 +68,7 @@
 #include <boost/serialization/void_cast.hpp>
 #include <boost/serialization/array.hpp>
 #include <boost/serialization/collection_size_type.hpp>
+#include <boost/serialization/singleton.hpp>
 
 #include <boost/archive/archive_exception.hpp>
 
@@ -104,50 +103,43 @@
 private:
     // private constructor to inhibit any existence other than the
     // static one
- explicit BOOST_DLLEXPORT oserializer() :
+public:
+ explicit oserializer() :
         basic_oserializer(
- * boost::serialization::type_info_implementation<T>::type::get_instance()
+ boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance()
         )
     {}
-public:
- virtual BOOST_DLLEXPORT void save_object_data(
+ virtual void save_object_data(
         basic_oarchive & ar,
         const void *x
- ) const BOOST_USED ;
+ ) const ;
     virtual bool class_info() const {
         return boost::serialization::implementation_level<T>::value
>= boost::serialization::object_class_info;
     }
     virtual bool tracking(const unsigned int /* flags */) const {
-// if(0 != (flags & no_tracking))
-// return false;
         return boost::serialization::tracking_level<T>::value == boost::serialization::track_always
- || boost::serialization::tracking_level<T>::value == boost::serialization::track_selectively
- && serialized_as_pointer();
+ || (boost::serialization::tracking_level<T>::value == boost::serialization::track_selectively
+ && serialized_as_pointer());
     }
     virtual unsigned int version() const {
         return ::boost::serialization::version<T>::value;
     }
     virtual bool is_polymorphic() const {
- typedef BOOST_DEDUCED_TYPENAME boost::serialization::type_info_implementation<
- T
- >::type::is_polymorphic::type typex;
- return typex::value;
- }
- static oserializer & get_instance(){
- static oserializer instance;
- return instance;
+ return boost::is_polymorphic<T>::value;
     }
     virtual ~oserializer(){}
 };
 
 template<class Archive, class T>
-BOOST_DLLEXPORT void oserializer<Archive, T>::save_object_data(
+void oserializer<Archive, T>::save_object_data(
     basic_oarchive & ar,
     const void *x
 ) const {
     // make sure call is routed through the highest interface that might
     // be specialized by the user.
+ BOOST_STATIC_ASSERT(boost::is_const<T>::value == false);
     boost::serialization::serialize_adl(
         boost::smart_cast_reference<Archive &>(ar),
         * static_cast<T *>(const_cast<void *>(x)),
@@ -158,35 +150,27 @@
 template<class Archive, class T>
 class pointer_oserializer
   : public archive_pointer_oserializer<Archive>
- , public dynamically_initialized<pointer_oserializer<Archive,T> >
 {
+ const basic_oserializer & get_basic_serializer() const;
 private:
- virtual const basic_oserializer & get_basic_serializer() const {
- return oserializer<Archive, T>::get_instance();
- }
- virtual BOOST_DLLEXPORT void save_object_ptr(
+ virtual void save_object_ptr(
         basic_oarchive & ar,
         const void * x
- ) const BOOST_USED ;
-#if defined(__GNUC__) || ( defined(BOOST_MSVC) && (_MSC_VER <= 1300) )
+ ) const ;
 public:
-#endif
- // private constructor to inhibit any existence other than the
- // static one. Note GCC doesn't permit constructor to be private
- explicit BOOST_DLLEXPORT pointer_oserializer() BOOST_USED;
- friend struct dynamically_initialized<pointer_oserializer<Archive,T> >;
-public:
- #if !defined(__BORLANDC__)
- // at least one compiler (CW) seems to require that serialize_adl
- // be explicitly instantiated. Still under investigation.
- void (* const m)(Archive &, T &, const unsigned);
- boost::serialization::extended_type_info * (* e)();
- #endif
- BOOST_DLLEXPORT static const pointer_oserializer & get_instance() BOOST_USED;
+ explicit pointer_oserializer();
 };
 
 template<class Archive, class T>
-BOOST_DLLEXPORT void pointer_oserializer<Archive, T>::save_object_ptr(
+const basic_oserializer &
+pointer_oserializer<Archive, T>::get_basic_serializer() const {
+ return boost::serialization::singleton<
+ oserializer<Archive, T>
+ >::get_const_instance();
+}
+
+template<class Archive, class T>
+void pointer_oserializer<Archive, T>::save_object_ptr(
     basic_oarchive & ar,
     const void * x
 ) const {
@@ -205,30 +189,16 @@
 }
 
 template<class Archive, class T>
-#if !defined(__BORLANDC__)
-BOOST_DLLEXPORT pointer_oserializer<Archive, T>::pointer_oserializer() :
+pointer_oserializer<Archive, T>::pointer_oserializer() :
     archive_pointer_oserializer<Archive>(
- * boost::serialization::type_info_implementation<T>::type::get_instance()
- ),
- m(boost::serialization::serialize_adl<Archive, T>),
- e(boost::serialization::type_info_implementation<T>::type::get_instance)
-#else
-BOOST_DLLEXPORT pointer_oserializer<Archive, T>::pointer_oserializer() :
- archive_pointer_oserializer<Archive>(
- * boost::serialization::type_info_implementation<T>::type::get_instance()
+ boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance()
     )
-#endif
 {
     // make sure appropriate member function is instantiated
- oserializer<Archive, T> & bos = oserializer<Archive, T>::get_instance();
- bos.set_bpos(this);
-}
-
-template<class Archive, class T>
-BOOST_DLLEXPORT const pointer_oserializer<Archive, T> &
-pointer_oserializer<Archive, T>::get_instance() {
- // note: comeau complains without full qualification
- return dynamically_initialized<pointer_oserializer<Archive,T> >::instance;
+ boost::serialization::singleton<
+ oserializer<Archive, T>
+ >::get_mutable_instance().set_bpos(this);
 }
 
 template<class Archive, class T>
@@ -256,7 +226,12 @@
     // serialization level and class version
     struct save_standard {
         static void invoke(Archive &ar, const T & t){
- ar.save_object(& t, oserializer<Archive, T>::get_instance());
+ ar.save_object(
+ & t,
+ boost::serialization::singleton<
+ oserializer<Archive, T>
+ >::get_const_instance()
+ );
         }
     };
 
@@ -300,7 +275,7 @@
         // else
             // do a fast save only tracking is turned off
             mpl::identity<save_conditional>
- > > >::type typex;
+ > > >::type typex;
 
     static void invoke(Archive & ar, const T & t){
         // check that we're not trying to serialize something that
@@ -325,10 +300,8 @@
     {
         static const basic_pointer_oserializer * register_type(Archive & /* ar */){
             // it has? to be polymorphic
- BOOST_STATIC_ASSERT(
- boost::serialization::type_info_implementation<T>::type::is_polymorphic::value
- );
- return static_cast<const basic_pointer_oserializer *>(NULL);
+ BOOST_STATIC_ASSERT(boost::is_polymorphic<T>::value);
+ return NULL;
         }
     };
 
@@ -360,11 +333,14 @@
     {
         static void save(
             Archive &ar,
- const T & t,
- const basic_pointer_oserializer * bpos_ptr
+ T & t
         ){
+ const basic_pointer_oserializer & bpos =
+ boost::serialization::singleton<
+ pointer_oserializer<Archive, T>
+ >::get_const_instance();
             // save the requested pointer type
- ar.save_pointer(& t, bpos_ptr);
+ ar.save_pointer(& t, & bpos);
         }
     };
 
@@ -373,18 +349,23 @@
     {
         static void save(
             Archive &ar,
- const T & t,
- const basic_pointer_oserializer * bpos_ptr
+ T & t
         ){
- const boost::serialization::extended_type_info * this_type
- = boost::serialization::type_info_implementation<T>::type::get_instance();
+ BOOST_DEDUCED_TYPENAME boost::serialization::type_info_implementation<T>::type
+ const & i = boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance();
+
+ boost::serialization::extended_type_info const * const this_type = & i;
+
             // retrieve the true type of the object pointed to
             // if this assertion fails its an error in this library
             assert(NULL != this_type);
- const boost::serialization::extended_type_info * true_type
- = boost::serialization::type_info_implementation<T>::type::get_derived_extended_type_info(t);
+
+ const boost::serialization::extended_type_info * true_type =
+ i.get_derived_extended_type_info(t);
+
             // note:if this exception is thrown, be sure that derived pointer
- // is either regsitered or exported.
+ // is either registered or exported.
             if(NULL == true_type){
                 boost::throw_exception(
                     archive_exception(archive_exception::unregistered_class)
@@ -394,7 +375,8 @@
             // if its not a pointer to a more derived type
             const void *vp = static_cast<const void *>(&t);
             if(*this_type == *true_type){
- ar.save_pointer(vp, bpos_ptr);
+ const basic_pointer_oserializer * bpos = register_type(ar, t);
+ ar.save_pointer(vp, bpos);
                 return;
             }
             // convert pointer to more derived type. if this is thrown
@@ -406,32 +388,37 @@
                 );
             }
 
- // sice true_type is valid, and this only gets made if the
+ // since true_type is valid, and this only gets made if the
             // pointer oserializer object has been created, this should never
             // fail
- bpos_ptr = archive_pointer_oserializer<Archive>::find(* true_type);
- assert(NULL != bpos_ptr);
- if(NULL == bpos_ptr)
+ const basic_pointer_oserializer * bpos
+ = archive_pointer_oserializer<Archive>::find(* true_type);
+ assert(NULL != bpos);
+ if(NULL == bpos)
                 boost::throw_exception(
                     archive_exception(archive_exception::unregistered_class)
                 );
- ar.save_pointer(vp, bpos_ptr);
+ ar.save_pointer(vp, bpos);
         }
     };
 
+ // out of line selector works around borland quirk
     template<class T>
- static void save(
- Archive & ar,
- const T &t,
- const basic_pointer_oserializer * bpos_ptr
- ){
+ struct conditional {
         typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
- BOOST_DEDUCED_TYPENAME boost::serialization::
- type_info_implementation<T>::type::is_polymorphic,
+ is_polymorphic<T>,
             mpl::identity<polymorphic<T> >,
             mpl::identity<non_polymorphic<T> >
- >::type typey;
- typey::save(ar, const_cast<T &>(t), bpos_ptr);
+ >::type type;
+ };
+
+ // used to convert TPtr in to a pointer to a T
+ template<class T>
+ static void save(
+ Archive & ar,
+ const T & t
+ ){
+ conditional<T>::type::save(ar, const_cast<T &>(t));
     }
 
     template<class T>
@@ -452,14 +439,14 @@
         #else
             // otherwise remove the const
         #endif
- const basic_pointer_oserializer * bpos_ptr = register_type(ar, * t);
+ register_type(ar, * t);
         if(NULL == t){
             basic_oarchive & boa = boost::smart_cast_reference<basic_oarchive &>(ar);
             boa.save_null_pointer();
             save_access::end_preamble(ar);
             return;
         }
- save(ar, * t, bpos_ptr);
+ save(ar, * t);
     };
 };
 
@@ -490,27 +477,6 @@
     }
 };
 
-
-#if 0
-// note bogus arguments to workaround msvc 6 silent runtime failure
-// declaration to satisfy gcc
-template<class Archive, class T>
-BOOST_DLLEXPORT const basic_pointer_oserializer &
-instantiate_pointer_oserializer(
- Archive * /* ar = NULL */,
- T * /* t = NULL */
-) BOOST_USED ;
-// definition
-template<class Archive, class T>
-BOOST_DLLEXPORT const basic_pointer_oserializer &
-instantiate_pointer_oserializer(
- Archive * /* ar = NULL */,
- T * /* t = NULL */
-){
- return pointer_oserializer<Archive, T>::instance;
-}
-#endif
-
 } // detail
 
 template<class Archive, class T>
@@ -561,7 +527,7 @@
     // serialization library and should be double checked. See documentation on
     // object tracking. Also, see the "rationale" section of the documenation
     // for motivation for this checking.
- BOOST_STATIC_ASSERT(check_tracking<T>::value);
+ BOOST_STATIC_WARNING(check_tracking<T>::value);
         save(ar, const_cast<const T &>(t));
 }
 #endif

Deleted: branches/proto/v3/boost/archive/detail/polymorphic_iarchive_dispatch.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/polymorphic_iarchive_dispatch.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,197 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_DISPATCH_HPP
-#define BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_DISPATCH_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_iarchive_dispatch.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstddef>
-#include <string>
-#include <ostream>
-#include <boost/noncopyable.hpp>
-#include <boost/cstdint.hpp>
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
- using ::size_t;
-} // namespace std
-#endif
-
-#include <boost/archive/polymorphic_iarchive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-template<class T>
-class shared_ptr;
-namespace serialization {
- class extended_type_info;
-} // namespace serialization
-namespace archive {
-namespace detail{
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
-
-template<class ArchiveImplementation>
-class polymorphic_iarchive_dispatch :
- public polymorphic_iarchive,
- // note: gcc dynamic cross cast fails if the the derivation below is
- // not public. I think this is a mistake.
- public /*protected*/ ArchiveImplementation,
- private boost::noncopyable
-{
-private:
- // these are used by the serialization library.
- virtual void load_object(
- void *t,
- const basic_iserializer & bis
- ){
- ArchiveImplementation::load_object(t, bis);
- }
- virtual const basic_pointer_iserializer * load_pointer(
- void * & t,
- const basic_pointer_iserializer * bpis_ptr,
- const basic_pointer_iserializer * (*finder)(
- const boost::serialization::extended_type_info & type
- )
- ){
- return ArchiveImplementation::load_pointer(t, bpis_ptr, finder);
- }
- virtual void set_library_version(unsigned int archive_library_version){
- ArchiveImplementation::set_library_version(archive_library_version);
- }
- virtual unsigned int get_library_version() const{
- return ArchiveImplementation::get_library_version();
- }
- virtual unsigned int get_flags() const {
- return ArchiveImplementation::get_flags();
- }
- virtual void delete_created_pointers(){
- ArchiveImplementation::delete_created_pointers();
- }
- virtual void reset_object_address(
- const void * new_address,
- const void * old_address
- ){
- ArchiveImplementation::reset_object_address(new_address, old_address);
- }
- virtual void load_binary(void * t, std::size_t size){
- ArchiveImplementation::load_binary(t, size);
- }
- // primitive types the only ones permitted by polymorphic archives
- virtual void load(bool & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(char & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(signed char & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(unsigned char & t){
- ArchiveImplementation::load(t);
- }
- #ifndef BOOST_NO_CWCHAR
- #ifndef BOOST_NO_INTRINSIC_WCHAR_T
- virtual void load(wchar_t & t){
- ArchiveImplementation::load(t);
- }
- #endif
- #endif
- virtual void load(short & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(unsigned short & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(int & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(unsigned int & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(long & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(unsigned long & t){
- ArchiveImplementation::load(t);
- }
- #if !defined(BOOST_NO_INTRINSIC_INT64_T)
- virtual void load(boost::int64_t & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(boost::uint64_t & t){
- ArchiveImplementation::load(t);
- }
- #endif
- virtual void load(float & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(double & t){
- ArchiveImplementation::load(t);
- }
- virtual void load(std::string & t){
- ArchiveImplementation::load(t);
- }
- #ifndef BOOST_NO_STD_WSTRING
- virtual void load(std::wstring & t){
- ArchiveImplementation::load(t);
- }
- #endif
- // used for xml and other tagged formats default does nothing
- virtual void load_start(const char * name){
- ArchiveImplementation::load_start(name);
- }
- virtual void load_end(const char * name){
- ArchiveImplementation::load_end(name);
- }
-
- virtual void register_basic_serializer(const basic_iserializer & bis){
- ArchiveImplementation::register_basic_serializer(bis);
- }
-public:
- // this can't be inheriteded because they appear in mulitple
- // parents
- typedef mpl::bool_<true> is_loading;
- typedef mpl::bool_<false> is_saving;
- // the >> operator
- template<class T>
- polymorphic_iarchive & operator>>(T & t){
- return polymorphic_iarchive::operator>>(t);
- }
-
- // the & operator
- template<class T>
- polymorphic_iarchive & operator&(T & t){
- return polymorphic_iarchive::operator&(t);
- }
-
- // all current archives take a stream as constructor argument
- template <class _Elem, class _Tr>
- polymorphic_iarchive_dispatch(
- std::basic_istream<_Elem, _Tr> & is,
- unsigned int flags = 0
- ) :
- ArchiveImplementation(is, flags)
- {}
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_DISPATCH_HPP

Deleted: branches/proto/v3/boost/archive/detail/polymorphic_oarchive_dispatch.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/polymorphic_oarchive_dispatch.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,185 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_DISPATCH_HPP
-#define BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_DISPATCH_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_oarchive_dispatch.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org for updates, documentation, and revision history.
-
-#include <string>
-#include <ostream>
-#include <boost/noncopyable.hpp>
-#include <boost/cstdint.hpp>
-#include <cstddef> // size_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{
- using ::size_t;
-} // namespace std
-#endif
-
-#include <boost/archive/polymorphic_oarchive.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-template<class T>
-class shared_ptr;
-namespace serialization {
- class extended_type_info;
-} // namespace serialization
-namespace archive {
-namespace detail{
-
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer;
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
-
-template<class ArchiveImplementation>
-class polymorphic_oarchive_dispatch :
- public polymorphic_oarchive,
- // note: gcc dynamic cross cast fails if the the derivation below is
- // not public. I think this is a mistake.
- public /*protected*/ ArchiveImplementation,
- private boost::noncopyable
-{
-private:
- // these are used by the serialization library.
- virtual void save_object(
- const void *x,
- const detail::basic_oserializer & bos
- ){
- ArchiveImplementation::save_object(x, bos);
- }
- virtual void save_pointer(
- const void * t,
- const detail::basic_pointer_oserializer * bpos_ptr
- ){
- ArchiveImplementation::save_pointer(t, bpos_ptr);
- }
- virtual void save_null_pointer(){
- ArchiveImplementation::save_null_pointer();
- }
- // primitive types the only ones permitted by polymorphic archives
- virtual void save(const bool t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const char t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const signed char t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const unsigned char t){
- ArchiveImplementation::save(t);
- }
- #ifndef BOOST_NO_CWCHAR
- #ifndef BOOST_NO_INTRINSIC_WCHAR_T
- virtual void save(const wchar_t t){
- ArchiveImplementation::save(t);
- }
- #endif
- #endif
- virtual void save(const short t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const unsigned short t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const int t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const unsigned int t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const long t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const unsigned long t){
- ArchiveImplementation::save(t);
- }
- #if !defined(BOOST_NO_INTRINSIC_INT64_T)
- virtual void save(const boost::int64_t t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const boost::uint64_t t){
- ArchiveImplementation::save(t);
- }
- #endif
- virtual void save(const float t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const double t){
- ArchiveImplementation::save(t);
- }
- virtual void save(const std::string & t){
- ArchiveImplementation::save(t);
- }
- #ifndef BOOST_NO_STD_WSTRING
- virtual void save(const std::wstring & t){
- ArchiveImplementation::save(t);
- }
- #endif
- virtual unsigned int get_library_version() const{
- return ArchiveImplementation::get_library_version();
- }
- virtual unsigned int get_flags() const {
- return ArchiveImplementation::get_flags();
- }
- virtual void save_binary(const void * t, std::size_t size){
- ArchiveImplementation::save_binary(t, size);
- }
- // used for xml and other tagged formats default does nothing
- virtual void save_start(const char * name){
- ArchiveImplementation::save_start(name);
- }
- virtual void save_end(const char * name){
- ArchiveImplementation::save_end(name);
- }
- virtual void end_preamble(){
- ArchiveImplementation::end_preamble();
- }
- virtual void register_basic_serializer(const detail::basic_oserializer & bos){
- ArchiveImplementation::register_basic_serializer(bos);
- }
-public:
- // this can't be inheriteded because they appear in mulitple
- // parents
- typedef mpl::bool_<false> is_loading;
- typedef mpl::bool_<true> is_saving;
- // the << operator
- template<class T>
- polymorphic_oarchive & operator<<(T & t){
- return polymorphic_oarchive::operator<<(t);
- }
- // the & operator
- template<class T>
- polymorphic_oarchive & operator&(T & t){
- return polymorphic_oarchive::operator&(t);
- }
- // all current archives take a stream as constructor argument
- template <class _Elem, class _Tr>
- polymorphic_oarchive_dispatch(
- std::basic_ostream<_Elem, _Tr> & os,
- unsigned int flags = 0
- ) :
- ArchiveImplementation(os, flags)
- {}
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_DISPATCH_HPP

Modified: branches/proto/v3/boost/archive/detail/register_archive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/detail/register_archive.hpp (original)
+++ branches/proto/v3/boost/archive/detail/register_archive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -4,8 +4,6 @@
 #ifndef BOOST_ARCHIVE_DETAIL_REGISTER_ARCHIVE_DWA2006521_HPP
 # define BOOST_ARCHIVE_DETAIL_REGISTER_ARCHIVE_DWA2006521_HPP
 
-# include <boost/type_traits/add_pointer.hpp>
-
 namespace boost { namespace archive { namespace detail {
 
 template <class Archive, class Serializable>

Modified: branches/proto/v3/boost/archive/impl/archive_pointer_iserializer.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/archive_pointer_iserializer.ipp (original)
+++ branches/proto/v3/boost/archive/impl/archive_pointer_iserializer.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -8,10 +8,12 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 
+#include <utility>
 #include <cassert>
 
 #include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
 
+#include <boost/serialization/singleton.hpp>
 #include <boost/archive/detail/basic_serializer_map.hpp>
 #include <boost/archive/detail/archive_pointer_iserializer.hpp>
 
@@ -19,12 +21,11 @@
 namespace archive {
 namespace detail {
 
-template<class Archive>
-basic_serializer_map *
-iserializer_map(){
- static bool deleted = false;
- static basic_serializer_map map(deleted);
- return deleted ? NULL : & map;
+namespace { // anon
+ template<class Archive>
+ class serializer_map : public basic_serializer_map
+ {
+ };
 }
 
 template<class Archive>
@@ -34,9 +35,11 @@
 ) :
     basic_pointer_iserializer(eti)
 {
- basic_serializer_map *mp = iserializer_map<Archive>();
- assert(NULL != mp);
- mp->insert(this);
+ std::pair<BOOST_DEDUCED_TYPENAME serializer_map<Archive>::iterator, bool> result;
+ result = serialization::singleton<
+ serializer_map<Archive>
+ >::get_mutable_instance().insert(this);
+ assert(result.second);
 }
 
 template<class Archive>
@@ -44,9 +47,19 @@
 archive_pointer_iserializer<Archive>::find(
     const boost::serialization::extended_type_info & eti
 ){
- basic_serializer_map *mp = iserializer_map<Archive>();
- assert(NULL != mp);
- return static_cast<const basic_pointer_iserializer *>(mp->tfind(eti));
+ const basic_serializer_arg bs(eti);
+ BOOST_DEDUCED_TYPENAME serializer_map<Archive>::const_iterator it;
+ it = boost::serialization::singleton<
+ serializer_map<Archive>
+ >::get_const_instance().find(& bs);
+ assert(
+ it
+ !=
+ boost::serialization::singleton<
+ serializer_map<Archive>
+ >::get_const_instance().end()
+ );
+ return static_cast<const basic_pointer_iserializer *>(*it);
 }
 
 template<class Archive>
@@ -54,10 +67,11 @@
 archive_pointer_iserializer<Archive>::~archive_pointer_iserializer(){
     // note: we need to check that the map still exists as we can't depend
     // on static variables being constructed in a specific sequence
- basic_serializer_map *mp = iserializer_map<Archive>();
- if(NULL == mp)
- return;
- mp->erase(this);
+ unsigned int count;
+ count = serialization::singleton<
+ serializer_map<Archive>
+ >::get_mutable_instance().erase(this);
+ assert(count);
 }
 
 } // namespace detail

Modified: branches/proto/v3/boost/archive/impl/archive_pointer_oserializer.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/archive_pointer_oserializer.ipp (original)
+++ branches/proto/v3/boost/archive/impl/archive_pointer_oserializer.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -8,6 +8,9 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 
+#include <utility>
+#include <cassert>
+
 #include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
 
 #include <boost/archive/detail/archive_pointer_oserializer.hpp>
@@ -17,12 +20,11 @@
 namespace archive {
 namespace detail {
 
-template<class Archive>
-basic_serializer_map *
-oserializer_map(){
- static bool deleted = false;
- static basic_serializer_map map(deleted);
- return deleted ? NULL : & map;
+namespace { // anon
+ template<class Archive>
+ class serializer_map : public basic_serializer_map
+ {
+ };
 }
 
 template<class Archive>
@@ -32,9 +34,14 @@
 ) :
     basic_pointer_oserializer(eti)
 {
- basic_serializer_map *mp = oserializer_map<Archive>();
- assert(NULL != mp);
- mp->insert(this);
+ std::pair<
+ BOOST_DEDUCED_TYPENAME serializer_map<Archive>::iterator,
+ bool
+ > result;
+ result = serialization::singleton<
+ serializer_map<Archive>
+ >::get_mutable_instance().insert(this);
+ assert(result.second);
 }
 
 template<class Archive>
@@ -42,9 +49,19 @@
 archive_pointer_oserializer<Archive>::find(
     const boost::serialization::extended_type_info & eti
 ){
- basic_serializer_map *mp = oserializer_map<Archive>();
- assert(NULL != mp);
- return static_cast<const basic_pointer_oserializer *>(mp->tfind(eti));
+ const basic_serializer_arg bs(eti);
+ basic_serializer_map::const_iterator it;
+ it = boost::serialization::singleton<
+ serializer_map<Archive>
+ >::get_const_instance().find(& bs);
+ assert(
+ it
+ !=
+ boost::serialization::singleton<
+ serializer_map<Archive>
+ >::get_const_instance().end()
+ );
+ return static_cast<const basic_pointer_oserializer *>(*it);
 }
 
 template<class Archive>
@@ -52,10 +69,11 @@
 archive_pointer_oserializer<Archive>::~archive_pointer_oserializer(){
     // note: we need to check that the map still exists as we can't depend
     // on static variables being constructed in a specific sequence
- basic_serializer_map *mp = oserializer_map<Archive>();
- if(NULL == mp)
- return;
- mp->erase(this);
+ unsigned int count;
+ count = serialization::singleton<
+ serializer_map<Archive>
+ >::get_mutable_instance().erase(this);
+ assert(count);
 }
 
 } // namespace detail

Modified: branches/proto/v3/boost/archive/impl/basic_binary_iarchive.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/basic_binary_iarchive.ipp (original)
+++ branches/proto/v3/boost/archive/impl/basic_binary_iarchive.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -22,7 +22,6 @@
 #include <boost/detail/workaround.hpp>
 
 #include <boost/archive/basic_binary_iarchive.hpp>
-//#include <boost/serialization/extended_type_info.hpp>
 
 namespace boost {
 namespace archive {

Modified: branches/proto/v3/boost/archive/impl/basic_binary_iprimitive.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/basic_binary_iprimitive.ipp (original)
+++ branches/proto/v3/boost/archive/impl/basic_binary_iprimitive.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -96,7 +96,7 @@
         s.resize(l);
     // note breaking a rule here - could be a problem on some platform
     if(0 < l)
- load_binary(&(*s.begin()), l);
+ load_binary(&(*s.begin()), l);
 }
 
 #ifndef BOOST_NO_CWCHAR
@@ -134,6 +134,7 @@
     std::basic_streambuf<Elem, Tr> & sb,
     bool no_codecvt
 ) :
+#ifndef BOOST_NO_STD_LOCALE
     m_sb(sb),
     archive_locale(NULL),
     locale_saver(m_sb)
@@ -148,6 +149,10 @@
         m_sb.pubimbue(* archive_locale);
     }
 }
+#else
+ m_sb(sb)
+{}
+#endif
 
 // some libraries including stl and libcomo fail if the
 // buffer isn't flushed before the code_cvt facet is changed.

Modified: branches/proto/v3/boost/archive/impl/basic_binary_oprimitive.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/basic_binary_oprimitive.ipp (original)
+++ branches/proto/v3/boost/archive/impl/basic_binary_oprimitive.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -103,6 +103,7 @@
     std::basic_streambuf<Elem, Tr> & sb,
     bool no_codecvt
 ) :
+#ifndef BOOST_NO_STD_LOCALE
     m_sb(sb),
     archive_locale(NULL),
     locale_saver(m_sb)
@@ -117,6 +118,10 @@
         m_sb.pubimbue(* archive_locale);
     }
 }
+#else
+ m_sb(sb)
+{}
+#endif
 
 // some libraries including stl and libcomo fail if the
 // buffer isn't flushed before the code_cvt facet is changed.

Modified: branches/proto/v3/boost/archive/impl/basic_text_iarchive.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/basic_text_iarchive.ipp (original)
+++ branches/proto/v3/boost/archive/impl/basic_text_iarchive.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -22,7 +22,6 @@
 #include <boost/detail/workaround.hpp>
 
 #include <boost/archive/basic_text_iarchive.hpp>
-//#include <boost/serialization/extended_type_info.hpp>
 
 namespace boost {
 namespace archive {

Modified: branches/proto/v3/boost/archive/impl/basic_text_iprimitive.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/basic_text_iprimitive.ipp (original)
+++ branches/proto/v3/boost/archive/impl/basic_text_iprimitive.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -94,7 +94,8 @@
 basic_text_iprimitive<IStream>::basic_text_iprimitive(
     IStream &is_,
     bool no_codecvt
-) :
+) :
+#ifndef BOOST_NO_STD_LOCALE
     is(is_),
     flags_saver(is_),
     precision_saver(is_),
@@ -112,6 +113,12 @@
     }
     is >> std::noboolalpha;
 }
+#else
+ is(is_),
+ flags_saver(is_),
+ precision_saver(is_)
+{}
+#endif
 
 template<class IStream>
 BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())

Modified: branches/proto/v3/boost/archive/impl/basic_text_oprimitive.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/basic_text_oprimitive.ipp (original)
+++ branches/proto/v3/boost/archive/impl/basic_text_oprimitive.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -75,6 +75,7 @@
     OStream & os_,
     bool no_codecvt
 ) :
+#ifndef BOOST_NO_STD_LOCALE
     os(os_),
     flags_saver(os_),
     precision_saver(os_),
@@ -92,6 +93,12 @@
     }
     os << std::noboolalpha;
 }
+#else
+ os(os_),
+ flags_saver(os_),
+ precision_saver(os_)
+{}
+#endif
 
 template<class OStream>
 BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())

Modified: branches/proto/v3/boost/archive/impl/basic_xml_iarchive.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/basic_xml_iarchive.ipp (original)
+++ branches/proto/v3/boost/archive/impl/basic_xml_iarchive.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -15,7 +15,6 @@
 
 #include <boost/archive/basic_xml_iarchive.hpp>
 #include <boost/serialization/tracking.hpp>
-//#include <boost/serialization/extended_type_info.hpp>
 
 namespace boost {
 namespace archive {

Modified: branches/proto/v3/boost/archive/impl/basic_xml_oarchive.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/basic_xml_oarchive.ipp (original)
+++ branches/proto/v3/boost/archive/impl/basic_xml_oarchive.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,6 +18,7 @@
 
 #include <boost/archive/basic_xml_archive.hpp>
 #include <boost/archive/basic_xml_oarchive.hpp>
+#include <boost/archive/xml_archive_exception.hpp>
 #include <boost/detail/no_exceptions_support.hpp>
 
 namespace boost {
@@ -78,7 +79,7 @@
     this->This()->put(' ');
     this->This()->put(attribute_name);
     this->This()->put("=\"");
- this->This()->put(key);
+ this->This()->save(key);
     this->This()->put('"');
 }
 
@@ -174,7 +175,9 @@
 BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
 basic_xml_oarchive<Archive>::save_override(const object_id_type & t, int)
 {
- write_attribute(OBJECT_ID(), t, "=\"_");
+ // borland doesn't do conversion of STRONG_TYPEDEFs very well
+ const unsigned int i = t;
+ write_attribute(OBJECT_ID(), i, "=\"_");
 }
 template<class Archive>
 BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
@@ -182,13 +185,15 @@
     const object_reference_type & t,
     int
 ){
- write_attribute(OBJECT_REFERENCE(), t, "=\"_");
+ const unsigned int i = t;
+ write_attribute(OBJECT_REFERENCE(), i, "=\"_");
 }
 template<class Archive>
 BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
 basic_xml_oarchive<Archive>::save_override(const version_type & t, int)
 {
- write_attribute(VERSION(), t);
+ const unsigned int i = t;
+ write_attribute(VERSION(), i);
 }
 
 template<class Archive>

Modified: branches/proto/v3/boost/archive/impl/text_iarchive_impl.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/text_iarchive_impl.ipp (original)
+++ branches/proto/v3/boost/archive/impl/text_iarchive_impl.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -54,7 +54,7 @@
     #endif
         s.resize(size);
     if(0 < size)
- is.read(&(*s.begin()), size);
+ is.read(&(*s.begin()), size);
 }
 
 #ifndef BOOST_NO_CWCHAR

Modified: branches/proto/v3/boost/archive/impl/xml_iarchive_impl.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/xml_iarchive_impl.ipp (original)
+++ branches/proto/v3/boost/archive/impl/xml_iarchive_impl.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -32,7 +32,7 @@
 
 #include <boost/detail/no_exceptions_support.hpp>
 
-#include <boost/archive/archive_exception.hpp>
+#include <boost/archive/xml_archive_exception.hpp>
 #include <boost/archive/iterators/dataflow_exception.hpp>
 #include <boost/archive/basic_xml_archive.hpp>
 #include <boost/archive/xml_iarchive.hpp>

Modified: branches/proto/v3/boost/archive/impl/xml_wiarchive_impl.ipp
==============================================================================
--- branches/proto/v3/boost/archive/impl/xml_wiarchive_impl.ipp (original)
+++ branches/proto/v3/boost/archive/impl/xml_wiarchive_impl.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -34,7 +34,7 @@
 
 #include <boost/serialization/string.hpp>
 #include <boost/archive/add_facet.hpp>
-#include <boost/archive/archive_exception.hpp>
+#include <boost/archive/xml_archive_exception.hpp>
 #include <boost/archive/detail/utf8_codecvt_facet.hpp>
 
 #include <boost/archive/iterators/mb_from_wchar.hpp>

Modified: branches/proto/v3/boost/archive/iterators/insert_linebreaks.hpp
==============================================================================
--- branches/proto/v3/boost/archive/iterators/insert_linebreaks.hpp (original)
+++ branches/proto/v3/boost/archive/iterators/insert_linebreaks.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -7,7 +7,7 @@
 #endif
 
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_from_base64.hpp
+// insert_linebreaks.hpp
 
 // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
 // Use, modification and distribution is subject to the Boost Software

Modified: branches/proto/v3/boost/archive/iterators/remove_whitespace.hpp
==============================================================================
--- branches/proto/v3/boost/archive/iterators/remove_whitespace.hpp (original)
+++ branches/proto/v3/boost/archive/iterators/remove_whitespace.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -7,7 +7,7 @@
 #endif
 
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// binary_from_base64.hpp
+// remove_whitespace.hpp
 
 // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
 // Use, modification and distribution is subject to the Boost Software

Modified: branches/proto/v3/boost/archive/polymorphic_binary_iarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/polymorphic_binary_iarchive.hpp (original)
+++ branches/proto/v3/boost/archive/polymorphic_binary_iarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,17 +18,17 @@
 
 #include <boost/config.hpp>
 #include <boost/archive/binary_iarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_dispatch.hpp>
+#include <boost/archive/detail/polymorphic_iarchive_route.hpp>
 
 namespace boost {
 namespace archive {
 
 class polymorphic_binary_iarchive :
- public detail::polymorphic_iarchive_dispatch<naked_binary_iarchive>
+ public detail::polymorphic_iarchive_route<naked_binary_iarchive>
 {
 public:
     polymorphic_binary_iarchive(std::istream & is, unsigned int flags = 0) :
- detail::polymorphic_iarchive_dispatch<naked_binary_iarchive>(is, flags)
+ detail::polymorphic_iarchive_route<naked_binary_iarchive>(is, flags)
     {}
     ~polymorphic_binary_iarchive(){}
 };

Modified: branches/proto/v3/boost/archive/polymorphic_binary_oarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/polymorphic_binary_oarchive.hpp (original)
+++ branches/proto/v3/boost/archive/polymorphic_binary_oarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,12 +18,12 @@
 
 #include <boost/config.hpp>
 #include <boost/archive/binary_oarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_dispatch.hpp>
+#include <boost/archive/detail/polymorphic_oarchive_route.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_oarchive_dispatch<
+typedef detail::polymorphic_oarchive_route<
     binary_oarchive_impl<
         naked_binary_oarchive,
         std::ostream::char_type,

Modified: branches/proto/v3/boost/archive/polymorphic_iarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/polymorphic_iarchive.hpp (original)
+++ branches/proto/v3/boost/archive/polymorphic_iarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -123,7 +123,7 @@
         load_end(t.name());
     }
 protected:
- virtual ~polymorphic_iarchive_impl(){}
+ virtual ~polymorphic_iarchive_impl(){};
 public:
     // utility function implemented by all legal archives
     virtual void set_library_version(unsigned int archive_library_version) = 0;
@@ -166,7 +166,10 @@
 class polymorphic_iarchive :
     public polymorphic_iarchive_impl,
     public detail::shared_ptr_helper
-{};
+{
+public:
+ virtual ~polymorphic_iarchive(){};
+};
 
 } // namespace archive
 } // namespace boost

Modified: branches/proto/v3/boost/archive/polymorphic_oarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/polymorphic_oarchive.hpp (original)
+++ branches/proto/v3/boost/archive/polymorphic_oarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -123,7 +123,7 @@
         save_end(t.name());
     }
 protected:
- virtual ~polymorphic_oarchive_impl(){}
+ virtual ~polymorphic_oarchive_impl(){};
 public:
     // utility functions implemented by all legal archives
     virtual unsigned int get_flags() const = 0;
@@ -143,7 +143,10 @@
 // note: preserve naming symmetry
 class polymorphic_oarchive :
     public polymorphic_oarchive_impl
-{};
+{
+public:
+ virtual ~polymorphic_oarchive(){};
+};
 
 } // namespace archive
 } // namespace boost

Modified: branches/proto/v3/boost/archive/polymorphic_text_iarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/polymorphic_text_iarchive.hpp (original)
+++ branches/proto/v3/boost/archive/polymorphic_text_iarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,17 +18,17 @@
 
 #include <boost/config.hpp>
 #include <boost/archive/text_iarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_dispatch.hpp>
+#include <boost/archive/detail/polymorphic_iarchive_route.hpp>
 
 namespace boost {
 namespace archive {
 
 class polymorphic_text_iarchive :
- public detail::polymorphic_iarchive_dispatch<naked_text_iarchive>
+ public detail::polymorphic_iarchive_route<naked_text_iarchive>
 {
 public:
     polymorphic_text_iarchive(std::istream & is, unsigned int flags = 0) :
- detail::polymorphic_iarchive_dispatch<naked_text_iarchive>(is, flags)
+ detail::polymorphic_iarchive_route<naked_text_iarchive>(is, flags)
     {}
     ~polymorphic_text_iarchive(){}
 };

Modified: branches/proto/v3/boost/archive/polymorphic_text_oarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/polymorphic_text_oarchive.hpp (original)
+++ branches/proto/v3/boost/archive/polymorphic_text_oarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,12 +18,12 @@
 
 #include <boost/config.hpp>
 #include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_dispatch.hpp>
+#include <boost/archive/detail/polymorphic_oarchive_route.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_oarchive_dispatch<
+typedef detail::polymorphic_oarchive_route<
     text_oarchive_impl<naked_text_oarchive>
> polymorphic_text_oarchive;
 

Modified: branches/proto/v3/boost/archive/polymorphic_text_wiarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/polymorphic_text_wiarchive.hpp (original)
+++ branches/proto/v3/boost/archive/polymorphic_text_wiarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -22,12 +22,12 @@
 #else
 
 #include <boost/archive/text_wiarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_dispatch.hpp>
+#include <boost/archive/detail/polymorphic_iarchive_route.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_iarchive_dispatch<
+typedef detail::polymorphic_iarchive_route<
         text_wiarchive_impl<naked_text_wiarchive>
> polymorphic_text_wiarchive;
 

Modified: branches/proto/v3/boost/archive/polymorphic_text_woarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/polymorphic_text_woarchive.hpp (original)
+++ branches/proto/v3/boost/archive/polymorphic_text_woarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -22,12 +22,12 @@
 #else
 
 #include <boost/archive/text_woarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_dispatch.hpp>
+#include <boost/archive/detail/polymorphic_oarchive_route.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_oarchive_dispatch<
+typedef detail::polymorphic_oarchive_route<
         text_woarchive_impl<naked_text_woarchive>
> polymorphic_text_woarchive;
 

Modified: branches/proto/v3/boost/archive/polymorphic_xml_iarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/polymorphic_xml_iarchive.hpp (original)
+++ branches/proto/v3/boost/archive/polymorphic_xml_iarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,17 +18,17 @@
 
 #include <boost/config.hpp>
 #include <boost/archive/xml_iarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_dispatch.hpp>
+#include <boost/archive/detail/polymorphic_iarchive_route.hpp>
 
 namespace boost {
 namespace archive {
 
 class polymorphic_xml_iarchive :
- public detail::polymorphic_iarchive_dispatch<naked_xml_iarchive>
+ public detail::polymorphic_iarchive_route<naked_xml_iarchive>
 {
 public:
     polymorphic_xml_iarchive(std::istream & is, unsigned int flags = 0) :
- detail::polymorphic_iarchive_dispatch<naked_xml_iarchive>(is, flags)
+ detail::polymorphic_iarchive_route<naked_xml_iarchive>(is, flags)
     {}
     ~polymorphic_xml_iarchive(){}
 };

Modified: branches/proto/v3/boost/archive/polymorphic_xml_oarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/polymorphic_xml_oarchive.hpp (original)
+++ branches/proto/v3/boost/archive/polymorphic_xml_oarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,12 +18,12 @@
 
 #include <boost/config.hpp>
 #include <boost/archive/xml_oarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_dispatch.hpp>
+#include <boost/archive/detail/polymorphic_oarchive_route.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_oarchive_dispatch<
+typedef detail::polymorphic_oarchive_route<
     xml_oarchive_impl<naked_xml_oarchive>
> polymorphic_xml_oarchive;
 

Modified: branches/proto/v3/boost/archive/polymorphic_xml_wiarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/polymorphic_xml_wiarchive.hpp (original)
+++ branches/proto/v3/boost/archive/polymorphic_xml_wiarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -22,12 +22,12 @@
 #else
 
 #include <boost/archive/xml_wiarchive.hpp>
-#include <boost/archive/detail/polymorphic_iarchive_dispatch.hpp>
+#include <boost/archive/detail/polymorphic_iarchive_route.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_iarchive_dispatch<
+typedef detail::polymorphic_iarchive_route<
         xml_wiarchive_impl<naked_xml_wiarchive>
> polymorphic_xml_wiarchive;
 

Modified: branches/proto/v3/boost/archive/polymorphic_xml_woarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/polymorphic_xml_woarchive.hpp (original)
+++ branches/proto/v3/boost/archive/polymorphic_xml_woarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -22,12 +22,12 @@
 #else
 
 #include <boost/archive/xml_woarchive.hpp>
-#include <boost/archive/detail/polymorphic_oarchive_dispatch.hpp>
+#include <boost/archive/detail/polymorphic_oarchive_route.hpp>
 
 namespace boost {
 namespace archive {
 
-typedef detail::polymorphic_oarchive_dispatch<
+typedef detail::polymorphic_oarchive_route<
         xml_woarchive_impl<naked_xml_woarchive>
> polymorphic_xml_woarchive;
 

Modified: branches/proto/v3/boost/archive/shared_ptr_helper.hpp
==============================================================================
--- branches/proto/v3/boost/archive/shared_ptr_helper.hpp (original)
+++ branches/proto/v3/boost/archive/shared_ptr_helper.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -7,7 +7,7 @@
 #endif
 
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// shared_ptr.hpp: serialization for boost shared pointer
+// shared_ptr_helper.hpp: serialization for boost shared pointer
 
 // (C) Copyright 2004 Robert Ramey and Martin Ecker
 // Use, modification and distribution is subject to the Boost Software
@@ -21,6 +21,7 @@
 
 #include <boost/config.hpp>
 #include <boost/shared_ptr.hpp>
+#include <boost/serialization/type_info_implementation.hpp>
 #include <boost/serialization/shared_ptr_132.hpp>
 #include <boost/throw_exception.hpp>
 
@@ -87,7 +88,7 @@
     void * object_identifier(T * t) const {
         const boost::serialization::extended_type_info * true_type
             = boost::serialization::type_info_implementation<T>::type
- ::get_derived_extended_type_info(*t);
+ ::get_const_instance().get_derived_extended_type_info(*t);
         // note:if this exception is thrown, be sure that derived pointer
         // is either registered or exported.
         if(NULL == true_type)
@@ -97,10 +98,12 @@
                 )
             );
         const boost::serialization::extended_type_info * this_type
- = boost::serialization::type_info_implementation<T>::type::get_instance();
+ = & boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance();
         void * vp = void_downcast(*true_type, *this_type, t);
         return vp;
     }
+public:
     template<class T>
     void reset(shared_ptr<T> & s, T * r){
         if(NULL == r){

Modified: branches/proto/v3/boost/archive/xml_wiarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/xml_wiarchive.hpp (original)
+++ branches/proto/v3/boost/archive/xml_wiarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -88,7 +88,7 @@
 };
 
 // do not derive from the classes below. If you want to extend this functionality
-// via inhertance, derived from text_iarchive_impl instead. This will
+// via inhertance, derived from xml_wiarchive_impl instead. This will
 // preserve correct static polymorphism.
 
 // same as xml_wiarchive below - without the shared_ptr_helper

Modified: branches/proto/v3/boost/archive/xml_woarchive.hpp
==============================================================================
--- branches/proto/v3/boost/archive/xml_woarchive.hpp (original)
+++ branches/proto/v3/boost/archive/xml_woarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -39,11 +39,13 @@
 namespace boost {
 namespace archive {
 
+#if 0
 BOOST_WARCHIVE_DECL(std::wostream &)
 operator<<(std::wostream &os, const char *t);
 
 BOOST_WARCHIVE_DECL(std::wostream &)
 operator<<(std::wostream &os, const char t);
+#endif
 
 template<class Archive>
 class xml_woarchive_impl :

Modified: branches/proto/v3/boost/circular_buffer/base.hpp
==============================================================================
--- branches/proto/v3/boost/circular_buffer/base.hpp (original)
+++ branches/proto/v3/boost/circular_buffer/base.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -679,12 +679,13 @@
              Does not invalidate any iterators.
         \par Complexity
              Constant (in the size of the <code>circular_buffer</code>).
- \sa <code>capacity()</code>, <code>max_size()</code>, <code>reserve()</code>, <code>resize()</code>
+ \sa <code>capacity()</code>, <code>max_size()</code>, <code>reserve()</code>,
+ <code>\link resize() resize(size_type, const_reference)\endlink</code>
     */
     size_type size() const { return m_size; }
 
- //! Get the largest possible size or capacity of the <code>circular_buffer</code>.
- /*!
+ /*! \brief Get the largest possible size or capacity of the <code>circular_buffer</code>. (It depends on
+ allocator's %max_size()).
         \return The maximum size/capacity the <code>circular_buffer</code> can be set to.
         \throws Nothing.
         \par Exception Safety
@@ -753,7 +754,8 @@
              Does not invalidate any iterators.
         \par Complexity
              Constant (in the size of the <code>circular_buffer</code>).
- \sa <code>reserve()</code>, <code>size()</code>, <code>max_size()</code>, <code>set_capacity()</code>
+ \sa <code>reserve()</code>, <code>size()</code>, <code>max_size()</code>,
+ <code>set_capacity(capacity_type)</code>
     */
     capacity_type capacity() const { return m_end - m_buff; }
 
@@ -774,7 +776,8 @@
              <code>end()</code>) if the new capacity is different from the original.
         \par Complexity
              Linear (in <code>min[size(), new_capacity]</code>).
- \sa <code>rset_capacity()</code>, <code>resize()</code>
+ \sa <code>rset_capacity(capacity_type)</code>,
+ <code>\link resize() resize(size_type, const_reference)\endlink</code>
     */
     void set_capacity(capacity_type new_capacity) {
         if (new_capacity == capacity())
@@ -816,7 +819,8 @@
              any iterator.
         \par Complexity
              Linear (in the new size of the <code>circular_buffer</code>).
- \sa <code>rresize()</code>, <code>set_capacity()</code>
+ \sa <code>\link rresize() rresize(size_type, const_reference)\endlink</code>,
+ <code>set_capacity(capacity_type)</code>
     */
     void resize(size_type new_size, param_value_type item = value_type()) {
         if (new_size > size()) {
@@ -846,7 +850,8 @@
              <code>end()</code>) if the new capacity is different from the original.
         \par Complexity
              Linear (in <code>min[size(), new_capacity]</code>).
- \sa <code>set_capacity()</code>, <code>rresize()</code>
+ \sa <code>set_capacity(capacity_type)</code>,
+ <code>\link rresize() rresize(size_type, const_reference)\endlink</code>
     */
     void rset_capacity(capacity_type new_capacity) {
         if (new_capacity == capacity())
@@ -887,7 +892,8 @@
              any iterator.
         \par Complexity
              Linear (in the new size of the <code>circular_buffer</code>).
- \sa <code>rresize()</code>, <code>set_capacity()</code>
+ \sa <code>\link resize() resize(size_type, const_reference)\endlink</code>,
+ <code>rset_capacity(capacity_type)</code>
     */
     void rresize(size_type new_size, param_value_type item = value_type()) {
         if (new_size > size()) {
@@ -910,7 +916,8 @@
         \par Complexity
              Constant.
         \warning This constructor has been defined only due to compatibility with the STL container definition. Avoid
- using it because it may allocate <b>very large</b> amount of memory.
+ using it because it may allocate <b>very large</b> amount of memory (depending on allocator's
+ %max_size()).
     */
     explicit circular_buffer(const allocator_type& alloc = allocator_type())
     : m_size(0), m_alloc(alloc) {
@@ -1296,7 +1303,8 @@
              Does not invalidate any iterators with the exception of iterators pointing to the overwritten element.
         \par Complexity
              Constant (in the size of the <code>circular_buffer</code>).
- \sa <code>push_front()</code>, <code>pop_back()</code>, <code>pop_front()</code>
+ \sa <code>\link push_front() push_front(const_reference)\endlink</code>,
+ <code>pop_back()</code>, <code>pop_front()</code>
     */
     void push_back(param_value_type item = value_type()) {
         if (full()) {
@@ -1325,7 +1333,8 @@
              Does not invalidate any iterators with the exception of iterators pointing to the overwritten element.
         \par Complexity
              Constant (in the size of the <code>circular_buffer</code>).
- \sa <code>push_back()</code>, <code>pop_back()</code>, <code>pop_front()</code>
+ \sa <code>\link push_back() push_back(const_reference)\endlink</code>,
+ <code>pop_back()</code>, <code>pop_front()</code>
     */
     void push_front(param_value_type item = value_type()) {
         BOOST_TRY {
@@ -1358,7 +1367,8 @@
              Invalidates only iterators pointing to the removed element.
         \par Complexity
              Constant (in the size of the <code>circular_buffer</code>).
- \sa <code>pop_front()</code>, <code>push_back()</code>, <code>push_front()</code>
+ \sa <code>pop_front()</code>, <code>\link push_back() push_back(const_reference)\endlink</code>,
+ <code>\link push_front() push_front(const_reference)\endlink</code>
     */
     void pop_back() {
         BOOST_CB_ASSERT(!empty()); // check for empty buffer (back element not available)
@@ -1378,7 +1388,8 @@
              Invalidates only iterators pointing to the removed element.
         \par Complexity
              Constant (in the size of the <code>circular_buffer</code>).
- \sa <code>pop_back()</code>, <code>push_back()</code>, <code>push_front()</code>
+ \sa <code>pop_back()</code>, <code>\link push_back() push_back(const_reference)\endlink</code>,
+ <code>\link push_front() push_front(const_reference)\endlink</code>
     */
     void pop_front() {
         BOOST_CB_ASSERT(!empty()); // check for empty buffer (front element not available)

Modified: branches/proto/v3/boost/circular_buffer/details.hpp
==============================================================================
--- branches/proto/v3/boost/circular_buffer/details.hpp (original)
+++ branches/proto/v3/boost/circular_buffer/details.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -227,9 +227,7 @@
     //! Difference type.
     typedef typename base_iterator::difference_type difference_type;
 
-#if !defined(BOOST_CB_TEST) && BOOST_CB_ENABLE_DEBUG == 0
-private:
-#endif
+public:
 // Member variables
 
     //! The circular buffer where the iterator points to.

Modified: branches/proto/v3/boost/circular_buffer/space_optimized.hpp
==============================================================================
--- branches/proto/v3/boost/circular_buffer/space_optimized.hpp (original)
+++ branches/proto/v3/boost/circular_buffer/space_optimized.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -150,7 +150,8 @@
              Does not invalidate any iterators.
         \par Complexity
              Constant (in the size of the <code>circular_buffer_space_optimized</code>).
- \sa <code>reserve()</code>, <code>size()</code>, <code>max_size()</code>, <code>set_capacity()</code>
+ \sa <code>reserve()</code>, <code>size()</code>, <code>max_size()</code>,
+ <code>set_capacity(const capacity_type&)</code>
     */
     const capacity_type& capacity() const { return m_capacity_ctrl; }
 
@@ -191,7 +192,8 @@
               boost::%circular_buffer_space_optimized\<int\>(cb).swap(cb);</code><br><br>
               For more information about the shrink-to-fit technique in STL see
               <a href="http://www.gotw.ca/gotw/054.htm">http://www.gotw.ca/gotw/054.htm>.
- \sa <code>rset_capacity()</code>, <code>resize()</code>
+ \sa <code>rset_capacity(const capacity_type&)</code>,
+ <code>\link resize() resize(size_type, const_reference)\endlink</code>
     */
     void set_capacity(const capacity_type& capacity_ctrl) {
         m_capacity_ctrl = capacity_ctrl;
@@ -226,7 +228,8 @@
              equal to <code>end()</code>).
         \par Complexity
              Linear (in the new size of the <code>circular_buffer_space_optimized</code>).
- \sa <code>rresize()</code>, <code>set_capacity()</code>
+ \sa <code>\link rresize() rresize(size_type, const_reference)\endlink</code>,
+ <code>set_capacity(const capacity_type&)</code>
     */
     void resize(size_type new_size, param_value_type item = value_type()) {
         if (new_size > size()) {
@@ -260,7 +263,8 @@
              equal to <code>end()</code>).
         \par Complexity
              Linear (in <code>min[size(), capacity_ctrl.%capacity()]</code>).
- \sa <code>set_capacity()</code>, <code>rresize()</code>
+ \sa <code>set_capacity(const capacity_type&)</code>,
+ <code>\link rresize() rresize(size_type, const_reference)\endlink</code>
     */
     void rset_capacity(const capacity_type& capacity_ctrl) {
         m_capacity_ctrl = capacity_ctrl;
@@ -295,7 +299,8 @@
              equal to <code>end()</code>).
         \par Complexity
              Linear (in the new size of the <code>circular_buffer_space_optimized</code>).
- \sa <code>rresize()</code>, <code>set_capacity()</code>
+ \sa <code>\link resize() resize(size_type, const_reference)\endlink</code>,
+ <code>rset_capacity(const capacity_type&)</code>
     */
     void rresize(size_type new_size, param_value_type item = value_type()) {
         if (new_size > size()) {
@@ -717,7 +722,8 @@
              equal to <code>end()</code>).
         \par Complexity
              Linear (in the size of the <code>circular_buffer_space_optimized</code>).
- \sa <code>push_front()</code>, <code>pop_back()</code>, <code>pop_front()</code>
+ \sa <code>\link push_front() push_front(const_reference)\endlink</code>, <code>pop_back()</code>,
+ <code>pop_front()</code>
     */
     void push_back(param_value_type item = value_type()) {
         check_low_capacity();
@@ -741,7 +747,8 @@
              equal to <code>end()</code>).
         \par Complexity
              Linear (in the size of the <code>circular_buffer_space_optimized</code>).
- \sa <code>push_back()</code>, <code>pop_back()</code>, <code>pop_front()</code>
+ \sa <code>\link push_back() push_back(const_reference)\endlink</code>, <code>pop_back()</code>,
+ <code>pop_front()</code>
     */
     void push_front(param_value_type item = value_type()) {
         check_low_capacity();
@@ -762,7 +769,8 @@
              equal to <code>end()</code>).
         \par Complexity
              Linear (in the size of the <code>circular_buffer_space_optimized</code>).
- \sa <code>pop_front()</code>, <code>push_back()</code>, <code>push_front()</code>
+ \sa <code>pop_front()</code>, <code>\link push_back() push_back(const_reference)\endlink</code>,
+ <code>\link push_front() push_front(const_reference)\endlink</code>
     */
     void pop_back() {
         circular_buffer<T, Alloc>::pop_back();
@@ -783,7 +791,8 @@
              equal to <code>end()</code>).
         \par Complexity
              Linear (in the size of the <code>circular_buffer_space_optimized</code>).
- \sa <code>pop_back()</code>, <code>push_back()</code>, <code>push_front()</code>
+ \sa <code>pop_back()</code>, <code>\link push_back() push_back(const_reference)\endlink</code>,
+ <code>\link push_front() push_front(const_reference)\endlink</code>
     */
     void pop_front() {
         circular_buffer<T, Alloc>::pop_front();

Modified: branches/proto/v3/boost/config/compiler/pgi.hpp
==============================================================================
--- branches/proto/v3/boost/config/compiler/pgi.hpp (original)
+++ branches/proto/v3/boost/config/compiler/pgi.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -7,6 +7,7 @@
 
 // PGI C++ compiler setup:
 
+#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__
 #define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
 
 //
@@ -15,10 +16,17 @@
 // if no threading API is detected.
 //
 
+#if (__PGIC__ == 7) && (__PGIC_MINOR__ == 1)
+
 #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
 #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
 #define BOOST_NO_SWPRINTF
 
+#else
+
+# error "Pgi compiler not configured - please reconfigure"
+
+#endif
 //
 // version check:
 // probably nothing to do here?

Modified: branches/proto/v3/boost/date_time/testfrmwk.hpp
==============================================================================
--- branches/proto/v3/boost/date_time/testfrmwk.hpp (original)
+++ branches/proto/v3/boost/date_time/testfrmwk.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -5,7 +5,7 @@
 /* Copyright (c) 2002,2003 CrystalClear Software, Inc.
  * Use, modification and distribution is subject to the
  * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE-1.0 or
http://www.boost.org/LICENSE-1.0)
+ * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
  * $Date$
  */
 

Modified: branches/proto/v3/boost/enable_shared_from_this.hpp
==============================================================================
--- branches/proto/v3/boost/enable_shared_from_this.hpp (original)
+++ branches/proto/v3/boost/enable_shared_from_this.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -23,13 +23,38 @@
 
 template<class T> class enable_shared_from_this
 {
+// dynamic cast to template type doesn't work in constructor, so we have
+// to use lazy initialization
+ void init_internal_shared_once() const
+ {
+ if(owned() == false && _internal_shared_this == 0)
+ {
+ _internal_shared_this = shared_ptr<T>(dynamic_cast<T *>(const_cast<enable_shared_from_this*>(this)),
+ detail::sp_deleter_wrapper(), detail::ignore_enable_shared_from_this_tag());
+ BOOST_ASSERT(_internal_shared_this.get() == this);
+ _internal_weak_this = _internal_shared_this;
+ }
+ }
+
+ bool owned() const
+ {
+ return _owned;
+ }
+
+ typedef T _internal_element_type; // for bcc 5.5.1
+ mutable shared_ptr<_internal_element_type> _internal_shared_this;
+ mutable weak_ptr<_internal_element_type> _internal_weak_this;
+ mutable bool _owned;
+
 protected:
 
- enable_shared_from_this()
+ enable_shared_from_this():
+ _owned(false)
     {
     }
 
- enable_shared_from_this(enable_shared_from_this const &)
+ enable_shared_from_this(enable_shared_from_this const &):
+ _owned(false)
     {
     }
 
@@ -38,14 +63,20 @@
         return *this;
     }
 
- ~enable_shared_from_this()
+// virtual destructor because we need a vtable for dynamic_cast from base to derived to work
+ virtual ~enable_shared_from_this()
     {
+// make sure no dangling shared_ptr objects were created by the
+// user calling shared_from_this() but never passing ownership of the object
+// to a shared_ptr.
+ BOOST_ASSERT(owned() || _internal_shared_this.use_count() <= 1);
     }
 
 public:
 
     shared_ptr<T> shared_from_this()
     {
+ init_internal_shared_once();
         shared_ptr<T> p(_internal_weak_this);
         BOOST_ASSERT(p.get() == this);
         return p;
@@ -53,19 +84,21 @@
 
     shared_ptr<T const> shared_from_this() const
     {
+ init_internal_shared_once();
         shared_ptr<T const> p(_internal_weak_this);
         BOOST_ASSERT(p.get() == this);
         return p;
     }
 
-// Note: No, you don't need to initialize _internal_weak_this
-//
-// Please read the documentation, not the code
-//
-// http://www.boost.org/libs/smart_ptr/enable_shared_from_this.html
-
- typedef T _internal_element_type; // for bcc 5.5.1
- mutable weak_ptr<_internal_element_type> _internal_weak_this;
+ template<typename U>
+ void _internal_accept_owner(shared_ptr<U> &owner) const
+ {
+ init_internal_shared_once();
+ get_deleter<detail::sp_deleter_wrapper>(_internal_shared_this)->set_deleter(owner);
+ owner = _internal_shared_this;
+ _internal_shared_this.reset();
+ _owned = true;
+ }
 };
 
 } // namespace boost

Modified: branches/proto/v3/boost/gil/device_n.hpp
==============================================================================
--- branches/proto/v3/boost/gil/device_n.hpp (original)
+++ branches/proto/v3/boost/gil/device_n.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -5,7 +5,7 @@
     Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
     http://www.boost.org/LICENSE_1_0.txt).
 
- See http://opensource.adobe.com/gil for most recent version including documentation.
+ See http://stlab.adobe.com/gil for most recent version including documentation.
 */
 /*************************************************************************************************/
 
@@ -64,7 +64,8 @@
 template <typename IC>
 inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<2> > >::view_t
 planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, std::ptrdiff_t rowsize_in_bytes) {
- return typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<2> > >::view_t(width, height, planar_pixel_iterator<IC,devicen_t<2> >(c0,c1), rowsize_in_bytes);
+ typedef typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<2> > >::view_t view_t;
+ return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1), rowsize_in_bytes));
 }
 
 /// \ingroup ImageViewConstructors
@@ -72,7 +73,8 @@
 template <typename IC>
 inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<3> > >::view_t
 planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, std::ptrdiff_t rowsize_in_bytes) {
- return typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<3> > >::view_t(width, height, planar_pixel_iterator<IC,devicen_t<3> >(c0,c1,c2), rowsize_in_bytes);
+ typedef typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<3> > >::view_t view_t;
+ return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1,c2), rowsize_in_bytes));
 }
 
 /// \ingroup ImageViewConstructors
@@ -80,7 +82,8 @@
 template <typename IC>
 inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<4> > >::view_t
 planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, std::ptrdiff_t rowsize_in_bytes) {
- return typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<4> > >::view_t(width, height, planar_pixel_iterator<IC,devicen_t<4> >(c0,c1,c2,c3), rowsize_in_bytes);
+ typedef typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<4> > >::view_t view_t;
+ return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1,c2,c3), rowsize_in_bytes));
 }
 
 /// \ingroup ImageViewConstructors
@@ -88,7 +91,8 @@
 template <typename IC>
 inline typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<5> > >::view_t
 planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, IC c4, std::ptrdiff_t rowsize_in_bytes) {
- return typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<5> > >::view_t(width, height, planar_pixel_iterator<IC,devicen_t<5> >(c0,c1,c2,c3,c4), rowsize_in_bytes);
+ typedef typename type_from_x_iterator<planar_pixel_iterator<IC,devicen_t<5> > >::view_t view_t;
+ return view_t(width, height, typename view_t::locator(typename view_t::x_iterator(c0,c1,c2,c3,c4), rowsize_in_bytes));
 }
 
 } } // namespace boost::gil

Modified: branches/proto/v3/boost/gil/gil_concept.hpp
==============================================================================
--- branches/proto/v3/boost/gil/gil_concept.hpp (original)
+++ branches/proto/v3/boost/gil/gil_concept.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -702,8 +702,8 @@
         typedef typename kth_element_type<ColorBase,num_elements-1>::type TN;
 
         BOOST_STATIC_ASSERT((is_same<T0,TN>::value)); // better than nothing
- typedef typename kth_element_const_reference_type<ColorBase,0>::type CR0;
- CR0 e0=dynamic_at_c(cb,0);
+ typedef typename kth_element_const_reference_type<ColorBase,0>::type CRef0;
+ CRef0 e0=dynamic_at_c(cb,0);
     }
     ColorBase cb;
 };

Modified: branches/proto/v3/boost/serialization/base_object.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/base_object.hpp (original)
+++ branches/proto/v3/boost/serialization/base_object.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -25,12 +25,15 @@
 
 #include <boost/mpl/eval_if.hpp>
 #include <boost/mpl/int.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/identity.hpp>
+
 #include <boost/type_traits/is_base_and_derived.hpp>
 #include <boost/type_traits/is_pointer.hpp>
 #include <boost/type_traits/is_const.hpp>
+#include <boost/type_traits/is_polymorphic.hpp>
 
 #include <boost/static_assert.hpp>
-#include <boost/serialization/type_info_implementation.hpp>
 #include <boost/serialization/force_include.hpp>
 #include <boost/serialization/void_cast_fwd.hpp>
 
@@ -39,40 +42,44 @@
 
 namespace detail
 {
-// only register void casts if the types are polymorphic
- template<class Base, class Derived>
- struct base_register
- {
- static void const* execute(mpl::false_) { return 0; }
-
- static void const* execute(mpl::true_)
- {
- return &void_cast_register((Derived const*)0, (Base const*)0);
- }
-
- static void const* invoke()
- {
- typedef mpl::bool_<
- type_info_implementation<Base>::type::is_polymorphic::value
- > is_polymorphic;
-
- return execute(is_polymorphic());
- }
- };
-
- // get the base type for a given derived type
- // preserving the const-ness
- template<class B, class D>
- struct base_cast
- {
- typedef BOOST_DEDUCED_TYPENAME
- mpl::if_<
- is_const<D>,
- const B,
- B
- >::type type;
- BOOST_STATIC_ASSERT(is_const<type>::value == is_const<D>::value);
- };
+ // get the base type for a given derived type
+ // preserving the const-ness
+ template<class B, class D>
+ struct base_cast
+ {
+ typedef BOOST_DEDUCED_TYPENAME
+ mpl::if_<
+ is_const<D>,
+ const B,
+ B
+ >::type type;
+ BOOST_STATIC_ASSERT(is_const<type>::value == is_const<D>::value);
+ };
+
+ // only register void casts if the types are polymorphic
+ template<class Base, class Derived>
+ struct base_register
+ {
+ struct polymorphic {
+ static void const * invoke(){
+ return &void_cast_register((Derived const*)0, (Base const*)0);
+ }
+ };
+ struct non_polymorphic {
+ static void const * invoke(){
+ return 0;
+ }
+ };
+ static void const * invoke(){
+ typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
+ is_polymorphic<Base>,
+ mpl::identity<polymorphic>,
+ mpl::identity<non_polymorphic>
+ >::type type;
+ return type::invoke();
+ }
+ };
+
 } // namespace detail
 
 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))

Modified: branches/proto/v3/boost/serialization/binary_object.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/binary_object.hpp (original)
+++ branches/proto/v3/boost/serialization/binary_object.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -76,8 +76,6 @@
  : public mpl::true_
 {};
 
-
-
 } // namespace serialization
 } // boost
 

Modified: branches/proto/v3/boost/serialization/collections_load_imp.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/collections_load_imp.hpp (original)
+++ branches/proto/v3/boost/serialization/collections_load_imp.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -26,8 +26,6 @@
 #include <boost/config.hpp>
 #include <boost/detail/workaround.hpp>
 
-#include <boost/aligned_storage.hpp>
-
 #include <boost/serialization/access.hpp>
 #include <boost/serialization/nvp.hpp>
 #include <boost/serialization/detail/stack_constructor.hpp>

Modified: branches/proto/v3/boost/serialization/complex.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/complex.hpp (original)
+++ branches/proto/v3/boost/serialization/complex.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -27,57 +27,53 @@
 namespace boost {
 namespace serialization {
 
-
 template<class Archive, class T>
 inline void serialize(
     Archive & ar,
     std::complex<T> & t,
     const unsigned int file_version
-)
-{
- boost::serialization::split_free(ar, t, file_version);
+){
+ boost::serialization::split_free(ar, t, file_version);
 }
 
 template<class Archive, class T>
 inline void save(
     Archive & ar,
- std::complex<T> const& x,
+ std::complex<T> const& t,
     const unsigned int /* file_version */
-)
-{
- double re=x.real();
- double im=x.imag();
- ar << boost::serialization::make_nvp("real", re);
- ar << boost::serialization::make_nvp("imag", im);
+){
+ const T re = t.real();
+ const T im = t.imag();
+ ar << boost::serialization::make_nvp("real", re);
+ ar << boost::serialization::make_nvp("imag", im);
 }
 
 template<class Archive, class T>
 inline void load(
     Archive & ar,
- std::complex<T>& x,
+ std::complex<T>& t,
     const unsigned int /* file_version */
-)
-{
- double re;
- double im;
- ar >> boost::serialization::make_nvp("real", re);
- ar >> boost::serialization::make_nvp("imag", im);
- x = std::complex<T>(re,im);
+){
+ T re;
+ T im;
+ ar >> boost::serialization::make_nvp("real", re);
+ ar >> boost::serialization::make_nvp("imag", im);
+ t = std::complex<T>(re,im);
 }
 
-/// specialization of serialization traits for complex
+// specialization of serialization traits for complex
 template <class T>
 struct is_bitwise_serializable<std::complex<T> >
- : public is_bitwise_serializable<T> {};
+ : public is_bitwise_serializable<T> {};
 
 template <class T>
 struct implementation_level<std::complex<T> >
- : mpl::int_<object_serializable> {} ;
+ : mpl::int_<object_serializable> {} ;
 
 // treat complex just like builtin arithmetic types for tracking
 template <class T>
 struct tracking_level<std::complex<T> >
- : mpl::int_<track_never> {} ;
+ : mpl::int_<track_never> {} ;
 
 } // serialization
 } // namespace boost

Modified: branches/proto/v3/boost/serialization/config.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/config.hpp (original)
+++ branches/proto/v3/boost/serialization/config.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -1,10 +1,4 @@
-#ifndef BOOST_SERIALIZATION_CONFIG_HPP
-#define BOOST_SERIALIZATION_CONFIG_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
+// note lack of include guards. This is intentional
 
 // config.hpp ---------------------------------------------//
 
@@ -28,22 +22,34 @@
 // the same library as BOOST_ARCHIVE. This could change some day in the
 // future
 
+// if BOOST_SERIALIZATION_DECL is defined undefine it now:
+#ifdef BOOST_SERIALIZATION_DECL
+ #undef BOOST_SERIALIZATION_DECL
+#endif
+
 #ifdef BOOST_HAS_DECLSPEC // defined in config system
 // we need to import/export our code only if the user has specifically
 // asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
 // libraries to be dynamically linked, or BOOST_SERIALIZATION_DYN_LINK
 // if they want just this one to be dynamically liked:
 #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
-#define BOOST_DYN_LINK
-// export if this is our own source, otherwise import:
-#if defined(BOOST_SERIALIZATION_SOURCE)
- #if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) || defined(__MWERKS__)
- #define BOOST_SERIALIZATION_DECL(T) __declspec(dllexport) T
- #else
- #define BOOST_SERIALIZATION_DECL(T) T __declspec(dllexport)
+ #if !defined(BOOST_DYN_LINK)
+ #define BOOST_DYN_LINK
     #endif
- #pragma message( "BOOST_SERIALIZATION_DECL __declspec(dllexport)" )
-#endif // defined(BOOST_SERIALIZATION_SOURCE)
+ // export if this is our own source, otherwise import:
+ #if defined(BOOST_SERIALIZATION_SOURCE)
+ #if defined(__BORLANDC__)
+ #define BOOST_SERIALIZATION_DECL(T) T __export
+ #else
+ #define BOOST_SERIALIZATION_DECL(T) __declspec(dllexport) T
+ #endif
+ #else
+ #if defined(__BORLANDC__)
+ #define BOOST_SERIALIZATION_DECL(T) T __import
+ #else
+ #define BOOST_SERIALIZATION_DECL(T) __declspec(dllimport) T
+ #endif
+ #endif // defined(BOOST_SERIALIZATION_SOURCE)
 #endif // defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
 #endif // BOOST_HAS_DECLSPEC
 
@@ -55,20 +61,16 @@
 // enable automatic library variant selection ------------------------------//
 
 #if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB) \
-&& !defined(BOOST_SERIALIZATION_SOURCE) \
-&& !defined(BOOST_ARCHIVE_SOURCE) && !defined(BOOST_WARCHIVE_SOURCE)
-//
-// Set the name of our library, this will get undef'ed by auto_link.hpp
-// once it's done with it:
-//
-#define BOOST_LIB_NAME boost_serialization
-//
-// And include the header that does the work:
-//
-#include <boost/config/auto_link.hpp>
-
-#endif // !defined(BOOST_SERIALIZATION_SOURCE) && !defined(BOOST_ARCHIVE_SOURCE)
-
-//----------------------------------------------------------------------------//
+&& !defined(BOOST_ARCHIVE_SOURCE) && !defined(BOOST_WARCHIVE_SOURCE) \
+&& !defined(BOOST_SERIALIZATION_SOURCE)
+ //
+ // Set the name of our library, this will get undef'ed by auto_link.hpp
+ // once it's done with it:
+ //
+ #define BOOST_LIB_NAME boost_serialization
+ //
+ // And include the header that does the work:
+ //
+ #include <boost/config/auto_link.hpp>
 
-#endif // BOOST_SERIALIZATION_CONFIG_HPP
+#endif

Modified: branches/proto/v3/boost/serialization/ephemeral.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/ephemeral.hpp (original)
+++ branches/proto/v3/boost/serialization/ephemeral.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -1,7 +1,8 @@
 #ifndef BOOST_SERIALIZATION_EPHEMERAL_HPP
 #define BOOST_SERIALIZATION_EPHEMERAL_HPP
 
-// MS compatible compilers support #pragma once
+// MS compatible compilers support
+#pragma once
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
 #endif
@@ -9,7 +10,7 @@
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
 // ephemeral_object.hpp: interface for serialization system.
 
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2007 Matthias Troyer.
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)

Modified: branches/proto/v3/boost/serialization/export.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/export.hpp (original)
+++ branches/proto/v3/boost/serialization/export.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -25,17 +25,23 @@
 
 #include <boost/config.hpp>
 #include <boost/static_assert.hpp>
+#include <boost/static_warning.hpp>
 #include <boost/preprocessor/stringize.hpp>
+#include <boost/type_traits/is_polymorphic.hpp>
 
-#include <boost/archive/detail/dynamically_initialized.hpp>
+#ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO
+ #include <boost/serialization/extended_type_info_typeid.hpp>
+#endif
 #include <boost/serialization/type_info_implementation.hpp>
 #include <boost/serialization/is_abstract.hpp>
 #include <boost/serialization/force_include.hpp>
+#include <boost/serialization/singleton.hpp>
 
 #include <boost/archive/detail/register_archive.hpp>
 #include <boost/mpl/assert.hpp>
 #include <boost/mpl/and.hpp>
 #include <boost/mpl/not.hpp>
+#include <boost/mpl/bool.hpp>
 
 #include <iostream>
 
@@ -56,51 +62,21 @@
 {
     static const basic_pointer_iserializer &
     enable_load(mpl::true_){
- return pointer_iserializer<Archive, Serializable>::get_instance();
+ return boost::serialization::singleton<
+ pointer_iserializer<Archive, Serializable>
+ >::get_const_instance();
     }
 
     static const basic_pointer_oserializer &
     enable_save(mpl::true_){
- return pointer_oserializer<Archive, Serializable>::get_instance();
+ return boost::serialization::singleton<
+ pointer_oserializer<Archive, Serializable>
+ >::get_const_instance();
     }
-
     inline static void enable_load(mpl::false_) {}
     inline static void enable_save(mpl::false_) {}
 };
 
-template<class T>
-struct guid_initializer
-{
- typedef typename
- boost::serialization::type_info_implementation<T>::type eti_type;
-
- static void export_register(const char *key)
- {
- eti_type::export_register(key);
- }
-
- static const guid_initializer& get_instance(char const* key)
- {
- static guid_initializer const instance(key);
- return instance;
- }
-
- BOOST_DLLEXPORT guid_initializer(const char *key = 0) BOOST_USED ;
-};
-
-
-template<class T>
-BOOST_DLLEXPORT guid_initializer<T>::guid_initializer(const char *key)
-{
- if(0 != key)
- export_register(key);
-
- // generates the statically-initialized objects whose constructors
- // register the information allowing serialization of T objects
- // through pointers to their base classes.
- instantiate_ptr_serialization((T*)0, 0);
-}
-
 // On many platforms, naming a specialization of this template is
 // enough to cause its argument to be instantiated.
 template <void(*)()>
@@ -109,36 +85,61 @@
 template <class Archive, class Serializable>
 struct ptr_serialization_support
 {
-# ifdef BOOST_MSVC
+# if defined(BOOST_MSVC)
     virtual BOOST_DLLEXPORT void instantiate() BOOST_USED;
-
-# elif defined(__BORLANDC__)
-
+# elif defined(__INTEL_COMPILER)
+ virtual BOOST_DLLEXPORT void instantiate() BOOST_USED;
+# elif defined(__BORLANDC__)
     static void instantiate();
     enum { x = sizeof(instantiate(),3) };
-
 # else
-
     static void instantiate();
     typedef instantiate_function<
         &ptr_serialization_support::instantiate
> x;
-
 # endif
 };
 
 template <class Archive, class Serializable>
 BOOST_DLLEXPORT void ptr_serialization_support<Archive,Serializable>::instantiate()
 {
- typedef mpl::not_<serialization::is_abstract<Serializable> > concrete;
-
     export_impl<Archive,Serializable>::enable_save(
- mpl::and_<concrete, BOOST_DEDUCED_TYPENAME Archive::is_saving>());
+ BOOST_DEDUCED_TYPENAME Archive::is_saving()
+ );
 
     export_impl<Archive,Serializable>::enable_load(
- mpl::and_<concrete, BOOST_DEDUCED_TYPENAME Archive::is_loading>());
+ BOOST_DEDUCED_TYPENAME Archive::is_loading()
+ );
 }
 
+template<class T>
+struct guid_initializer
+{
+ const guid_initializer & export_guid(char const* key, mpl::false_){
+ // generates the statically-initialized objects whose constructors
+ // register the information allowing serialization of T objects
+ // through pointers to their base classes.
+ instantiate_ptr_serialization((T*)0, 0);
+ return *this;
+ }
+ const guid_initializer & export_guid(char const* key, mpl::true_){
+ return *this;
+ }
+ const guid_initializer & export_guid(char const* key){
+ BOOST_STATIC_WARNING(boost::is_polymorphic<T>::value);
+ assert(NULL != key);
+ boost::serialization::singleton<
+ BOOST_DEDUCED_TYPENAME
+ boost::serialization::type_info_implementation<T>::type
+ >::get_mutable_instance().key_register(key);
+ // note: exporting an abstract base class will have no effect
+ // and cannot be used to instantitiate serialization code
+ // (one might be using this in a DLL to instantiate code)
+ //BOOST_STATIC_WARNING(! boost::is_abstract<T>::value);
+ return export_guid(key, serialization::is_abstract<T>());
+ }
+};
+
 } // namespace detail
 } // namespace archive
 } // namespace boost
@@ -146,9 +147,11 @@
 #define BOOST_CLASS_EXPORT_GUID(T, K) \
 namespace \
 { \
- ::boost::archive::detail::guid_initializer< T > const& \
+ ::boost::archive::detail::guid_initializer< T > const & \
         BOOST_PP_CAT(boost_serialization_guid_initializer_, __LINE__) \
- = ::boost::archive::detail::guid_initializer< T >::get_instance(K); \
+ = ::boost::serialization::singleton< \
+ ::boost::archive::detail::guid_initializer< T > \
+ >::get_mutable_instance().export_guid(K); \
 }
 
 // the following is solely to support de-serialization of pointers serialized
@@ -156,9 +159,13 @@
 #define BOOST_CLASS_EXPORT_GUID_1(T, K) \
 namespace \
 { \
- ::boost::archive::detail::guid_initializer< T > const& \
- BOOST_PP_CAT(boost_serialization_guid_initializer_, __LINE__ ## _1) \
- = ::boost::archive::detail::guid_initializer< T >::get_instance(K); \
+ ::boost::archive::detail::guid_initializer< T > const & \
+ BOOST_PP_CAT( \
+ boost_serialization_guid_initializer_, \
+ BOOST_PP_CAT(__LINE__,_1) \
+ ) = ::boost::serialization::singleton< \
+ ::boost::archive::detail::guid_initializer< T > \
+ >::get_mutable_instance().export_guid(K); \
 }
 
 #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
@@ -188,8 +195,7 @@
 // need to export it.
 #define BOOST_CLASS_EXPORT_CHECK(T) \
     BOOST_STATIC_WARNING( \
- boost::serialization::type_info_implementation< T > \
- ::type::is_polymorphic::value \
+ boost::is_polymorphic<U>::value \
     ); \
     /**/
 

Modified: branches/proto/v3/boost/serialization/extended_type_info.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/extended_type_info.hpp (original)
+++ branches/proto/v3/boost/serialization/extended_type_info.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,8 +18,9 @@
 
 // for now, extended type info is part of the serialization libraries
 // this could change in the future.
+#include <cstdarg>
+#include <cassert>
 #include <boost/config.hpp>
-#include <boost/noncopyable.hpp>
 #include <boost/serialization/config.hpp>
 
 #include <boost/config/abi_prefix.hpp> // must be the last header
@@ -33,53 +34,54 @@
 namespace boost {
 namespace serialization {
 
-class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) extended_type_info :
- private boost::noncopyable
+class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) extended_type_info
 {
-private:
- virtual bool
- less_than(const extended_type_info &rhs) const = 0;
- int type_info_key_cmp(const extended_type_info & rhs) const;
-
+private:
     // used to uniquely identify the type of class derived from this one
     // so that different derivations of this class can be simultaneously
     // included in implementation of sets and maps.
- const char * m_type_info_key;
- // flag to indicate wheter its been registered by type;
- bool m_self_registered;
- // flag to indicate wheter its been registered by type;
- bool m_key_registered;
- // flag indicating that no virtual function should be called here
- // this is necessary since it seems that at least one compiler (borland
- // and one version of gcc call less_than above when erasing even
- // when given an iterator argument.
- bool m_is_destructing;
+ const unsigned int m_type_info_key;
+ virtual bool
+ is_less_than(const extended_type_info &rhs) const {
+ assert(false);
+ return false;
+ };
+ virtual bool
+ is_equal(const extended_type_info &rhs) const {
+ assert(false);
+ return false;
+ };
+ void key_unregister();
 protected:
     const char * m_key;
- extended_type_info(const char * type_info_key);
+ // this class can't be used as is. It's just the
+ // common functionality for all type_info replacement
+ // systems. Hence, make these protected
+ extended_type_info(const unsigned int type_info_key = 0);
     // account for bogus gcc warning
     #if defined(__GNUC__)
     virtual
     #endif
     ~extended_type_info();
 public:
- void self_register();
- void key_register(const char *key);
- bool is_destructing() const {
- return m_is_destructing;
+ const char * get_key() const {
+ return m_key;
     }
+ void key_register(const char *key);
     bool operator<(const extended_type_info &rhs) const;
- bool operator==(const extended_type_info &rhs) const {
- return this == & rhs;
- }
+ bool operator==(const extended_type_info &rhs) const;
     bool operator!=(const extended_type_info &rhs) const {
- return this != & rhs;
- }
- const char * get_key() const {
- return m_key;
+ return !(operator==(rhs));
     }
     static const extended_type_info * find(const char *key);
- static const extended_type_info * find(const extended_type_info * t);
+ // for plugins
+ virtual void * construct(unsigned int count = 0, ...) const {
+ assert(false); // must be implemented if used
+ return NULL;
+ };
+ virtual void destroy(void const * const p) const {
+ assert(false); // must be implemented if used
+ }
 };
 
 } // namespace serialization
@@ -88,6 +90,7 @@
 #ifdef BOOST_MSVC
 #pragma warning(pop)
 #endif
+
 #include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_HPP

Modified: branches/proto/v3/boost/serialization/extended_type_info_no_rtti.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/extended_type_info_no_rtti.hpp (original)
+++ branches/proto/v3/boost/serialization/extended_type_info_no_rtti.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -1,5 +1,6 @@
 #ifndef BOOST_EXTENDED_TYPE_INFO_NO_RTTI_HPP
 #define BOOST_EXTENDED_TYPE_INFO_NO_RTTI_HPP
+
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
 // MS compatible compilers support #pragma once
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
@@ -17,12 +18,13 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 #include <cassert>
+
 #include <boost/config.hpp>
 #include <boost/static_assert.hpp>
-#include <boost/type_traits/is_const.hpp>
 
+#include <boost/serialization/singleton.hpp>
 #include <boost/serialization/extended_type_info.hpp>
-#include <boost/mpl/bool.hpp>
+#include <boost/serialization/factory.hpp>
 
 #include <boost/config/abi_prefix.hpp> // must be the last header
 #ifdef BOOST_MSVC
@@ -32,44 +34,37 @@
 
 namespace boost {
 namespace serialization {
-namespace detail {
 ///////////////////////////////////////////////////////////////////////
 // define a special type_info that doesn't depend on rtti which is not
 // available in all situations.
 
+namespace detail {
+
 // common base class to share type_info_key. This is used to
 // identify the method used to keep track of the extended type
 class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) extended_type_info_no_rtti_0 :
     public extended_type_info
 {
- virtual bool
- less_than(const boost::serialization::extended_type_info &rhs) const ;
 protected:
     extended_type_info_no_rtti_0();
- // account for bogus gcc warning
- #if defined(__GNUC__)
- virtual
- #endif
     ~extended_type_info_no_rtti_0();
 public:
- struct is_polymorphic
- {
- typedef boost::mpl::bool_<true> type;
- BOOST_STATIC_CONSTANT(bool, value = is_polymorphic::type::value);
- };
+ virtual bool
+ is_less_than(const boost::serialization::extended_type_info &rhs) const ;
+ virtual bool
+ is_equal(const boost::serialization::extended_type_info &rhs) const ;
 };
 
+} // detail
+
 template<class T>
-class extended_type_info_no_rtti_1 :
- public extended_type_info_no_rtti_0
+class extended_type_info_no_rtti :
+ public detail::extended_type_info_no_rtti_0,
+ public singleton<extended_type_info_no_rtti<T> >
 {
-protected:
- extended_type_info_no_rtti_1(){}
 public:
- // note borland complains at making this destructor protected
- ~extended_type_info_no_rtti_1(){};
- static const boost::serialization::extended_type_info *
- get_derived_extended_type_info(const T & t){
+ const extended_type_info *
+ get_derived_extended_type_info(const T & t) const {
         // find the type that corresponds to the most derived type.
         // this implementation doesn't depend on typeid() but assumes
         // that the specified type has a function of the following signature.
@@ -79,30 +74,31 @@
         assert(NULL != derived_key);
         return boost::serialization::extended_type_info::find(derived_key);
     }
- static boost::serialization::extended_type_info *
- get_instance(){
- static extended_type_info_no_rtti_1<T> instance;
- return & instance;
+ void * construct(unsigned int count, ...) const{
+ // count up the arguments
+ std::va_list ap;
+ va_start(ap, count);
+ switch(count){
+ case 0:
+ return factory<T, 0>(ap);
+ case 1:
+ return factory<T, 1>(ap);
+ case 2:
+ return factory<T, 2>(ap);
+ case 3:
+ return factory<T, 3>(ap);
+ case 4:
+ return factory<T, 4>(ap);
+ default:
+ assert(false); // too many arguments
+ // throw exception here?
+ return NULL;
+ }
     }
- static void
- export_register(const char * key){
- boost::serialization::extended_type_info * eti;
- eti = get_instance();
- eti->key_register(key); // initialize key and add to table
- eti->self_register(); // add type to type table
+ void destroy(void const * const p) const{
+ delete static_cast<T const *>(p) ;
     }
 };
-} // namespace detail
-
-template<class T>
-class extended_type_info_no_rtti :
- public detail::extended_type_info_no_rtti_1<const T>
-{
- // private constructor to inhibit any existence other than the
- // static one
- extended_type_info_no_rtti(){}
- ~extended_type_info_no_rtti(){};
-};
 
 } // namespace serialization
 } // namespace boost
@@ -119,14 +115,14 @@
     template<class T>
     struct extended_type_info_impl {
         typedef BOOST_DEDUCED_TYPENAME
- boost::serialization::extended_type_info_no_rtti<const T> type;
+ boost::serialization::extended_type_info_no_rtti<T> type;
     };
     } // namespace serialization
     } // namespace boost
 #endif
 
 #ifdef BOOST_MSVC
-#pragma warning(pop)
+# pragma warning(pop)
 #endif
 #include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 

Modified: branches/proto/v3/boost/serialization/extended_type_info_typeid.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/extended_type_info_typeid.hpp (original)
+++ branches/proto/v3/boost/serialization/extended_type_info_typeid.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -1,5 +1,6 @@
 #ifndef BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_TYPEID_HPP
 #define BOOST_SERIALIZATION_EXTENDED_TYPE_INFO_TYPEID_HPP
+
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
 // MS compatible compilers support #pragma once
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
@@ -18,15 +19,18 @@
 // See http://www.boost.org for updates, documentation, and revision history.
 
 #include <typeinfo>
+#include <cstdarg>
+
 #include <boost/config.hpp>
 
-//#include <boost/static_warning.hpp>
 #include <boost/static_assert.hpp>
+#include <boost/static_warning.hpp>
 #include <boost/type_traits/is_polymorphic.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/preprocessor/stringize.hpp>
+#include <boost/type_traits/remove_const.hpp>
 
+#include <boost/serialization/singleton.hpp>
 #include <boost/serialization/extended_type_info.hpp>
+#include <boost/serialization/factory.hpp>
 
 #include <boost/config/abi_prefix.hpp> // must be the last header
 #ifdef BOOST_MSVC
@@ -36,80 +40,83 @@
 
 namespace boost {
 namespace serialization {
-
 namespace detail {
 
 class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) extended_type_info_typeid_0 :
     public extended_type_info
 {
-private:
- virtual bool
- less_than(const extended_type_info &rhs) const;
 protected:
- static const extended_type_info *
- get_derived_extended_type_info(const std::type_info & ti);
+ const std::type_info * m_ti;
     extended_type_info_typeid_0();
- // account for bogus gcc warning
- #if defined(__GNUC__)
- virtual
- #endif
     ~extended_type_info_typeid_0();
+ void type_register(const std::type_info & ti);
+ void type_unregister();
+ const extended_type_info *
+ get_extended_type_info(const std::type_info & ti) const;
 public:
- virtual const std::type_info & get_eti() const = 0;
+ virtual bool
+ is_less_than(const extended_type_info &rhs) const;
+ virtual bool
+ is_equal(const extended_type_info &rhs) const;
+ const std::type_info & get_typeid() const {
+ return *m_ti;
+ }
 };
 
-///////////////////////////////////////////////////////////////////////////////
-// layer to fold T and const T into the same table entry.
+} // namespace detail
+
 template<class T>
-class extended_type_info_typeid_1 :
- public detail::extended_type_info_typeid_0
+class extended_type_info_typeid :
+ public detail::extended_type_info_typeid_0,
+ public singleton<extended_type_info_typeid<T> >
 {
-private:
- virtual const std::type_info & get_eti() const {
- return typeid(T);
- }
-protected:
- // private constructor to inhibit any existence other than the
- // static one
- extended_type_info_typeid_1() :
+public:
+ extended_type_info_typeid() :
         detail::extended_type_info_typeid_0()
     {
- self_register(); // add type to type table
+ type_register(typeid(T));
     }
-public:
- struct is_polymorphic
- {
- typedef BOOST_DEDUCED_TYPENAME boost::is_polymorphic<T>::type type;
- BOOST_STATIC_CONSTANT(bool, value = is_polymorphic::type::value);
- };
- static const extended_type_info *
- get_derived_extended_type_info(const T & t){
+ ~extended_type_info_typeid(){
+ type_unregister();
+ }
+ // get the eti record for the true type of this record
+ // relying upon standard type info implemenation (rtti)
+ const extended_type_info *
+ get_derived_extended_type_info(const T & t) const {
         // note: this implementation - based on usage of typeid (rtti)
- // only works if the class has at least one virtual function.
-// BOOST_STATIC_WARNING(
-// static_cast<bool>(is_polymorphic::value)
-// );
- return detail::extended_type_info_typeid_0::get_derived_extended_type_info(typeid(t));
- }
- static extended_type_info *
- get_instance(){
- static extended_type_info_typeid_1<T> instance;
- return & instance;
- }
- static void
- export_register(const char * key){
- get_instance()->key_register(key);
+ // only does something if the class has at least one virtual function.
+ BOOST_STATIC_WARNING(boost::is_polymorphic<T>::value);
+ return
+ detail::extended_type_info_typeid_0::get_extended_type_info(
+ typeid(t)
+ );
+ }
+ void * construct(unsigned int count, ...) const{
+ // count up the arguments
+ std::va_list ap;
+ va_start(ap, count);
+ switch(count){
+ case 0:
+ return factory<boost::remove_const<T>, 0>(ap);
+ case 1:
+ return factory<boost::remove_const<T>, 1>(ap);
+ case 2:
+ return factory<boost::remove_const<T>, 2>(ap);
+ case 3:
+ return factory<boost::remove_const<T>, 3>(ap);
+ case 4:
+ return factory<boost::remove_const<T>, 4>(ap);
+ default:
+ assert(false); // too many arguments
+ // throw exception here?
+ return NULL;
+ }
+ }
+ void destroy(void const * const p) const{
+ delete static_cast<T const *>(p) ;
     }
 };
 
-} // namespace detail
-
-///////////////////////////////////////////////////////////////////////////////
-template<class T>
-class extended_type_info_typeid :
- public detail::extended_type_info_typeid_1<const T>
-{};
-
 } // namespace serialization
 } // namespace boost
 

Modified: branches/proto/v3/boost/serialization/force_include.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/force_include.hpp (original)
+++ branches/proto/v3/boost/serialization/force_include.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -16,10 +16,6 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 
-// implementation of class export functionality. This is an alternative to
-// "forward declaration" method to provoke instantiation of derived classes
-// that are to be serialized through pointers.
-
 #include <boost/config.hpp>
 
 // the following help macro is to guarentee that certain coded

Modified: branches/proto/v3/boost/serialization/is_abstract.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/is_abstract.hpp (original)
+++ branches/proto/v3/boost/serialization/is_abstract.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -38,7 +38,7 @@
 namespace boost { \
 namespace serialization { \
 template<> \
-struct is_abstract< T > : mpl::true_ {}; \
+struct is_abstract<const T > : mpl::true_ {}; \
 }} \
 /**/
 

Modified: branches/proto/v3/boost/serialization/optional.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/optional.hpp (original)
+++ branches/proto/v3/boost/serialization/optional.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -20,6 +20,7 @@
 #include <boost/serialization/split_free.hpp>
 #include <boost/serialization/level.hpp>
 #include <boost/serialization/nvp.hpp>
+#include <boost/serialization/version.hpp>
 #include <boost/serialization/detail/stack_constructor.hpp>
 
 // function specializations must be defined in the appropriate
@@ -53,7 +54,7 @@
     bool tflag;
     ar >> boost::serialization::make_nvp("initialized", tflag);
     if (tflag){
- unsigned int v;
+ unsigned int v = 0;
         if(3 < ar.get_library_version()){
             ar >> make_nvp("item_version", v);
         }

Modified: branches/proto/v3/boost/serialization/type_info_implementation.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/type_info_implementation.hpp (original)
+++ branches/proto/v3/boost/serialization/type_info_implementation.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -61,7 +61,7 @@
 namespace serialization { \
 template<> \
 struct type_info_implementation< T > { \
- typedef ETI type; \
+ typedef const ETI type; \
 }; \
 } \
 } \

Modified: branches/proto/v3/boost/serialization/void_cast.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/void_cast.hpp (original)
+++ branches/proto/v3/boost/serialization/void_cast.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,13 +18,10 @@
 // See http://www.boost.org for updates, documentation, and revision history.
 
 #include <boost/smart_cast.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/serialization/config.hpp>
+#include <boost/serialization/singleton.hpp>
 #include <boost/serialization/force_include.hpp>
 #include <boost/serialization/type_info_implementation.hpp>
-
+#include <boost/serialization/config.hpp>
 #include <boost/config/abi_prefix.hpp> // must be the last header
 
 #ifdef BOOST_MSVC
@@ -35,7 +32,7 @@
 namespace boost {
 namespace serialization {
 
-class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) extended_type_info;
+class extended_type_info;
 
 // Given a void *, assume that it really points to an instance of one type
 // and alter it so that it would point to an instance of a related type.
@@ -44,156 +41,121 @@
 
 BOOST_SERIALIZATION_DECL(void const *)
 void_upcast(
- extended_type_info const & derived_type,
- extended_type_info const & base_type,
- void const * const t,
- bool top = true
+ extended_type_info const & derived,
+ extended_type_info const & base,
+ void const * const t
 );
 
 inline void *
 void_upcast(
- extended_type_info const & derived_type_,
- extended_type_info const & base_type_,
+ extended_type_info const & derived,
+ extended_type_info const & base,
     void * const t
 ){
     return const_cast<void*>(void_upcast(
- derived_type_,
- base_type_,
+ derived,
+ base,
         const_cast<void const *>(t)
     ));
 }
 
 BOOST_SERIALIZATION_DECL(void const *)
 void_downcast(
- extended_type_info const & derived_type,
- extended_type_info const & base_type,
- void const * const t,
- bool top = true
+ extended_type_info const & derived,
+ extended_type_info const & base,
+ void const * const t
 );
 
 inline void *
 void_downcast(
- extended_type_info const & derived_type_,
- extended_type_info const & base_type_,
+ extended_type_info const & derived,
+ extended_type_info const & base,
     void * const t
 ){
     return const_cast<void*>(void_downcast(
- derived_type_,
- base_type_,
+ derived,
+ base,
         const_cast<void const *>(t)
     ));
 }
 
 namespace void_cast_detail {
 
-// note: can't be abstract because an instance is used as a search argument
 class BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY()) void_caster
 {
     friend struct void_caster_compare ;
     friend
- BOOST_SERIALIZATION_DECL(void const *)
+ BOOST_SERIALIZATION_DECL(void const *)
     boost::serialization::void_upcast(
- const extended_type_info & derived_type,
- const extended_type_info & base_type,
- const void * t,
- bool top
+ extended_type_info const & derived,
+ extended_type_info const & base,
+ void const * const
     );
     friend
     BOOST_SERIALIZATION_DECL(void const *)
     boost::serialization::void_downcast(
- const extended_type_info & derived_type,
- const extended_type_info & base_type,
- const void * t,
- bool top
+ extended_type_info const & derived,
+ extended_type_info const & base,
+ void const * const
     );
- // each derived class must re-implement these;
- virtual void const * upcast(void const * t) const = 0;
- virtual void const * downcast(void const * t) const = 0;
     // Data members
- extended_type_info const & m_derived_type;
- extended_type_info const & m_base_type;
+ const extended_type_info & m_derived;
+ const extended_type_info & m_base;
+ // each derived class must re-implement these;
+ virtual void const * upcast(void const * const t) const = 0;
+ virtual void const * downcast(void const * const t) const = 0;
+ // cw 8.3 requires this!!
+ void_caster& operator=(void_caster const &);
 protected:
- static void static_register(const void_caster *);
+ void
+ static_register() const;
+ void
+ static_unregister() const;
 public:
     // Constructor
     void_caster(
- extended_type_info const & derived_type_,
- extended_type_info const & base_type_
+ extended_type_info const & derived,
+ extended_type_info const & base
     );
- // predicate used to determine if this void caster includes
- // a particular eti *
- bool includes(const extended_type_info * eti) const;
- virtual ~void_caster();
-private:
- // cw 8.3 requires this!!
- void_caster& operator=(void_caster const&);
+ virtual ~void_caster(){};
+ bool operator==(const void_caster & rhs) const;
 };
 
 template <class Derived, class Base>
 class void_caster_primitive :
     public void_caster
 {
- virtual void const* downcast( void const * t ) const {
- Derived * d = boost::smart_cast<const Derived *, const Base *>(
+ virtual void const * downcast(void const * const t) const {
+ const Derived * d = boost::smart_cast<const Derived *, const Base *>(
             static_cast<const Base *>(t)
         );
         return d;
     }
- virtual void const* upcast(void const * t) const {
- Base * b = boost::smart_cast<const Base *, const Derived *>(
+ virtual void const * upcast(void const * const t) const {
+ const Base * b = boost::smart_cast<const Base *, const Derived *>(
             static_cast<const Derived *>(t)
         );
         return b;
     }
-
- BOOST_DLLEXPORT void_caster_primitive() BOOST_USED;
-
- static BOOST_DLLEXPORT void_caster_primitive const& instance;
-
- // Something we can use to force instantiation without generating
- // warnings.
- static void use(void_caster_primitive const&) {}
-
- public:
- // CodeWarrior fails to construct static members of class
- // templates when they are instantiated from within templates, so
- // we do everything with void_caster_primitive in terms of
- // get_instance. On CodeWarrior, the user must invoke
- // BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED to make this work
- // (see boost/serialization/export.hpp). On other compilers (and
- // if the bug is fixed in a future version of CodeWarriror), the
- // initialization of instance (above) obviates the need for
- // BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED.
- static BOOST_DLLEXPORT void_caster_primitive const& get_instance()
- {
- static void_caster_primitive instance_;
-
- // refer to instance, causing it to be instantiated (and
- // initialized at startup on working compilers)
- use(instance);
-
- return instance_;
- }
+public:
+ void_caster_primitive();
+ ~void_caster_primitive();
 };
 
 template <class Derived, class Base>
-BOOST_DLLEXPORT void_caster_primitive<Derived, Base>::void_caster_primitive() :
+void_caster_primitive<Derived, Base>::void_caster_primitive() :
     void_caster(
- * type_info_implementation<Derived>::type::get_instance(),
- * type_info_implementation<Base>::type::get_instance()
+ type_info_implementation<Derived>::type::get_const_instance(),
+ type_info_implementation<Base>::type::get_const_instance()
     )
 {
- // calling get_instance() causes infinite recursion, and the
- // instance reference isn't initialized yet, so we must pass this
- // to static_register. It *is* the same object as instance, but
- // there's no way even to assert that here.
- this->static_register(this);
+ static_register();
 }
 
 template <class Derived, class Base>
-BOOST_DLLEXPORT void_caster_primitive<Derived,Base> const&
-void_caster_primitive<Derived,Base>::instance
-= void_caster_primitive<Derived,Base>::get_instance();
+void_caster_primitive<Derived, Base>::~void_caster_primitive(){
+ static_unregister();
+}
 
 } // void_cast_detail
 
@@ -207,20 +169,25 @@
     const Derived * dnull,
     const Base * bnull
 ) BOOST_USED;
+
 template<class Derived, class Base>
 BOOST_DLLEXPORT
 inline const void_cast_detail::void_caster & void_cast_register(
- const Derived * /* dnull = NULL */,
- const Base * /* bnull = NULL */
+ Derived const * /* dnull = NULL */,
+ Base const * /* bnull = NULL */
 ){
- return void_cast_detail::void_caster_primitive<
- const Derived, const Base
- >::get_instance();
+ return singleton<void_cast_detail::void_caster_primitive<
+ Derived, Base
+ > >::get_const_instance();
 }
 
 } // namespace serialization
 } // namespace boost
 
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
+
 #include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_SERIALIZATION_VOID_CAST_HPP

Modified: branches/proto/v3/boost/serialization/void_cast_fwd.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/void_cast_fwd.hpp (original)
+++ branches/proto/v3/boost/serialization/void_cast_fwd.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -17,6 +17,8 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 
+#include <boost/serialization/force_include.hpp>
+
 namespace boost {
 namespace serialization {
 namespace void_cast_detail{

Modified: branches/proto/v3/boost/serialization/weak_ptr.hpp
==============================================================================
--- branches/proto/v3/boost/serialization/weak_ptr.hpp (original)
+++ branches/proto/v3/boost/serialization/weak_ptr.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -29,7 +29,7 @@
     const unsigned int /* file_version */
 ){
     const boost::shared_ptr<T> sp = t.lock();
- ar << boost::serialization::make_nvp(NULL, sp);
+ ar << boost::serialization::make_nvp("shared_ptr", sp);
 }
 
 template<class Archive, class T>
@@ -39,7 +39,7 @@
     const unsigned int /* file_version */
 ){
     boost::shared_ptr<T> sp;
- ar >> boost::serialization::make_nvp(NULL, sp);
+ ar >> boost::serialization::make_nvp("shared_ptr", sp);
     t = sp;
 }
 

Modified: branches/proto/v3/boost/shared_ptr.hpp
==============================================================================
--- branches/proto/v3/boost/shared_ptr.hpp (original)
+++ branches/proto/v3/boost/shared_ptr.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -48,6 +48,7 @@
 namespace boost
 {
 
+template<class T> class shared_ptr;
 template<class T> class weak_ptr;
 template<class T> class enable_shared_from_this;
 
@@ -90,9 +91,14 @@
 
 // enable_shared_from_this support
 
-template<class T, class Y> void sp_enable_shared_from_this( shared_count const & pn, boost::enable_shared_from_this<T> const * pe, Y const * px )
+struct ignore_enable_shared_from_this_tag {};
+
+template<class T, class Y> void sp_enable_shared_from_this( boost::shared_ptr<Y> * ptr, boost::enable_shared_from_this<T> const * pe )
 {
- if(pe != 0) pe->_internal_weak_this._internal_assign(const_cast<Y*>(px), pn);
+ if(pe != 0)
+ {
+ pe->_internal_accept_owner(*ptr);
+ }
 }
 
 #ifdef _MANAGED
@@ -104,7 +110,7 @@
     template<class T> sp_any_pointer( T* ) {}
 };
 
-inline void sp_enable_shared_from_this( shared_count const & /*pn*/, sp_any_pointer, sp_any_pointer )
+inline void sp_enable_shared_from_this( sp_any_pointer, sp_any_pointer )
 {
 }
 
@@ -115,7 +121,7 @@
 # pragma set woff 3506
 #endif
 
-inline void sp_enable_shared_from_this( shared_count const & /*pn*/, ... )
+inline void sp_enable_shared_from_this( ... )
 {
 }
 
@@ -136,7 +142,7 @@
 template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
 {
     typedef R type;
-};
+};
 
 #endif
 
@@ -172,7 +178,7 @@
     template<class Y>
     explicit shared_ptr( Y * p ): px( p ), pn( p ) // Y must be complete
     {
- boost::detail::sp_enable_shared_from_this( pn, p, p );
+ boost::detail::sp_enable_shared_from_this( this, p );
     }
 
     //
@@ -183,14 +189,14 @@
 
     template<class Y, class D> shared_ptr(Y * p, D d): px(p), pn(p, d)
     {
- boost::detail::sp_enable_shared_from_this( pn, p, p );
+ boost::detail::sp_enable_shared_from_this( this, p );
     }
 
     // As above, but with allocator. A's copy constructor shall not throw.
 
     template<class Y, class D, class A> shared_ptr( Y * p, D d, A a ): px( p ), pn( p, d, a )
     {
- boost::detail::sp_enable_shared_from_this( pn, p, p );
+ boost::detail::sp_enable_shared_from_this( this, p );
     }
 
 // generated copy constructor, assignment, destructor are fine...
@@ -253,6 +259,12 @@
         }
     }
 
+// constructor that doesn't trigger enable_shared_from_this code, needed
+// for enable_shared_from_this internal implementation
+ template<class Y, class D> shared_ptr(Y * p, D d, detail::ignore_enable_shared_from_this_tag tag):
+ px(p), pn(p, d)
+ {}
+
 #ifndef BOOST_NO_AUTO_PTR
 
     template<class Y>
@@ -260,7 +272,7 @@
     {
         Y * tmp = r.get();
         pn = boost::detail::shared_count(r);
- boost::detail::sp_enable_shared_from_this( pn, tmp, tmp );
+ boost::detail::sp_enable_shared_from_this( this, tmp );
     }
 
 #if !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
@@ -270,7 +282,7 @@
     {
         typename Ap::element_type * tmp = r.get();
         pn = boost::detail::shared_count( r );
- boost::detail::sp_enable_shared_from_this( pn, tmp, tmp );
+ boost::detail::sp_enable_shared_from_this( this, tmp );
     }
 
 
@@ -382,7 +394,7 @@
         BOOST_ASSERT(px != 0);
         return px;
     }
-
+
     T * get() const // never throws
     {
         return px;
@@ -416,13 +428,13 @@
     ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )
 
     typedef T * (this_type::*unspecified_bool_type)() const;
-
+
     operator unspecified_bool_type() const // never throws
     {
         return px == 0? 0: &this_type::get;
     }
 
-#else
+#else
 
     typedef T * this_type::*unspecified_bool_type;
 
@@ -583,7 +595,7 @@
 template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, shared_ptr<Y> const & p)
 # else
 template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p)
-# endif
+# endif
 {
     os << p.get();
     return os;
@@ -597,6 +609,8 @@
 
 // get_deleter
 
+namespace detail
+{
 #if ( defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3) ) || \
     ( defined(__EDG_VERSION__) && BOOST_WORKAROUND(__EDG_VERSION__, <= 238) ) || \
     ( defined(__HP_aCC) && BOOST_WORKAROUND(__HP_aCC, <= 33500) )
@@ -604,7 +618,7 @@
 // g++ 2.9x doesn't allow static_cast<X const *>(void *)
 // apparently EDG 2.38 and HP aCC A.03.35 also don't accept it
 
-template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
+template<class D, class T> D * basic_get_deleter(shared_ptr<T> const & p)
 {
     void const * q = p._internal_get_deleter(BOOST_SP_TYPEID(D));
     return const_cast<D *>(static_cast<D const *>(q));
@@ -612,18 +626,55 @@
 
 #else
 
-template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
+template<class D, class T> D * basic_get_deleter(shared_ptr<T> const & p)
 {
     return static_cast<D *>(p._internal_get_deleter(BOOST_SP_TYPEID(D)));
 }
 
 #endif
 
+class sp_deleter_wrapper
+{
+ shared_ptr<const void> _deleter;
+public:
+ sp_deleter_wrapper()
+ {}
+ void set_deleter(const shared_ptr<const void> &deleter)
+ {
+ _deleter = deleter;
+ }
+ void operator()(const void *)
+ {
+ BOOST_ASSERT(_deleter.use_count() <= 1);
+ _deleter.reset();
+ }
+ template<typename D>
+ D* get_deleter() const
+ {
+ return boost::detail::basic_get_deleter<D>(_deleter);
+ }
+};
+
+} // namespace detail
+
+template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
+{
+ D *del = detail::basic_get_deleter<D>(p);
+ if(del == 0)
+ {
+ detail::sp_deleter_wrapper *del_wrapper = detail::basic_get_deleter<detail::sp_deleter_wrapper>(p);
+// The following get_deleter method call is fully qualified because
+// older versions of gcc (2.95, 3.2.3) fail to compile it when written del_wrapper->get_deleter<D>()
+ if(del_wrapper) del = del_wrapper->::boost::detail::sp_deleter_wrapper::get_deleter<D>();
+ }
+ return del;
+}
+
 } // namespace boost
 
 #ifdef BOOST_MSVC
 # pragma warning(pop)
-#endif
+#endif
 
 #endif // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
 

Modified: branches/proto/v3/boost/static_warning.hpp
==============================================================================
--- branches/proto/v3/boost/static_warning.hpp (original)
+++ branches/proto/v3/boost/static_warning.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -81,6 +81,8 @@
 # define BOOST_HAS_DESCRIPTIVE_UNREFERENCED_VARIABLE_WARNING
 # elif defined(__GNUC__) && !defined(BOOST_INTEL) // && (__GNUC__ * 100 + __GNUC_MINOR__ <= 302)
 # define BOOST_HAS_DESCRIPTIVE_DIVIDE_BY_ZERO_WARNING
+# elif defined(__DECCXX) // for Tru64
+# define BOOST_HAS_DESCRIPTIVE_DIVIDE_BY_ZERO_WARNING
 # elif defined(__DMC__)
 # define BOOST_HAS_DESCRIPTIVE_RETURNING_ADDRESS_OF_TEMPORARY_WARNING
 # elif defined(BOOST_MSVC) // && (BOOST_MSVC < 1300)

Modified: branches/proto/v3/boost/thread/detail/move.hpp
==============================================================================
--- branches/proto/v3/boost/thread/detail/move.hpp (original)
+++ branches/proto/v3/boost/thread/detail/move.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -22,6 +22,8 @@
             {
                 return &t;
             }
+ private:
+ void operator=(thread_move_t&);
         };
     }
     

Modified: branches/proto/v3/boost/thread/pthread/shared_mutex.hpp
==============================================================================
--- branches/proto/v3/boost/thread/pthread/shared_mutex.hpp (original)
+++ branches/proto/v3/boost/thread/pthread/shared_mutex.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -57,7 +57,14 @@
             boost::this_thread::disable_interruption do_not_disturb;
             boost::mutex::scoped_lock lock(state_change);
                 
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true)
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             {
                 if(!state.exclusive && !state.exclusive_waiting_blocked)
                 {
@@ -89,7 +96,14 @@
             boost::this_thread::disable_interruption do_not_disturb;
             boost::mutex::scoped_lock lock(state_change);
                 
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true)
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             {
                 if(!state.exclusive && !state.exclusive_waiting_blocked)
                 {
@@ -130,7 +144,14 @@
             boost::this_thread::disable_interruption do_not_disturb;
             boost::mutex::scoped_lock lock(state_change);
                 
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true)
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             {
                 if(state.shared_count || state.exclusive)
                 {
@@ -150,7 +171,14 @@
             boost::this_thread::disable_interruption do_not_disturb;
             boost::mutex::scoped_lock lock(state_change);
                 
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true)
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             {
                 if(state.shared_count || state.exclusive)
                 {
@@ -196,7 +224,14 @@
         {
             boost::this_thread::disable_interruption do_not_disturb;
             boost::mutex::scoped_lock lock(state_change);
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true)
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             {
                 if(!state.exclusive && !state.exclusive_waiting_blocked && !state.upgrade)
                 {
@@ -213,7 +248,14 @@
         {
             boost::this_thread::disable_interruption do_not_disturb;
             boost::mutex::scoped_lock lock(state_change);
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true)
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             {
                 if(!state.exclusive && !state.exclusive_waiting_blocked && !state.upgrade)
                 {
@@ -262,7 +304,14 @@
             boost::this_thread::disable_interruption do_not_disturb;
             boost::mutex::scoped_lock lock(state_change);
             --state.shared_count;
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true)
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             {
                 if(!state.shared_count)
                 {

Modified: branches/proto/v3/boost/thread/pthread/thread.hpp
==============================================================================
--- branches/proto/v3/boost/thread/pthread/thread.hpp (original)
+++ branches/proto/v3/boost/thread/pthread/thread.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -22,6 +22,12 @@
 #include <boost/shared_ptr.hpp>
 #include "thread_data.hpp"
 #include <boost/bind.hpp>
+#include <stdlib.h>
+
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4251)
+#endif
 
 namespace boost
 {
@@ -319,7 +325,7 @@
         }
     }
 
- class BOOST_THREAD_DECL thread_group : private noncopyable
+ class BOOST_THREAD_DECL thread_group
     {
     public:
         thread_group();
@@ -330,13 +336,20 @@
         void remove_thread(thread* thrd);
         void join_all();
         void interrupt_all();
- int size() const;
+ size_t size() const;
 
     private:
+ thread_group(thread_group&);
+ void operator=(thread_group&);
+
         std::list<thread*> m_threads;
         mutex m_mutex;
     };
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 
 #endif

Modified: branches/proto/v3/boost/thread/pthread/thread_data.hpp
==============================================================================
--- branches/proto/v3/boost/thread/pthread/thread_data.hpp (original)
+++ branches/proto/v3/boost/thread/pthread/thread_data.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -72,6 +72,7 @@
                 }
             }
             
+ void operator=(interruption_checker&);
         public:
             explicit interruption_checker(pthread_cond_t* cond):
                 thread_info(detail::get_current_thread_data())

Modified: branches/proto/v3/boost/thread/win32/basic_timed_mutex.hpp
==============================================================================
--- branches/proto/v3/boost/thread/win32/basic_timed_mutex.hpp (original)
+++ branches/proto/v3/boost/thread/win32/basic_timed_mutex.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -33,7 +33,14 @@
 
             void destroy()
             {
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4312)
+#endif
                 void* const old_event=BOOST_INTERLOCKED_EXCHANGE_POINTER(&event,0);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
                 if(old_event)
                 {
                     win32::CloseHandle(old_event);
@@ -64,7 +71,14 @@
             bool timed_lock(::boost::system_time const& wait_until)
             {
                 long old_count=active_count;
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
                 while(true)
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
                 {
                     long const current_count=BOOST_INTERLOCKED_COMPARE_EXCHANGE(&active_count,(old_count+1)|lock_flag_value,old_count);
                     if(current_count==old_count)
@@ -139,7 +153,15 @@
                 if(!current_event)
                 {
                     void* const new_event=win32::create_anonymous_event(win32::auto_reset_event,win32::event_initially_reset);
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4311)
+#pragma warning(disable:4312)
+#endif
                     void* const old_event=BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(&event,new_event,0);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
                     if(old_event!=0)
                     {
                         win32::CloseHandle(new_event);

Modified: branches/proto/v3/boost/thread/win32/condition_variable.hpp
==============================================================================
--- branches/proto/v3/boost/thread/win32/condition_variable.hpp (original)
+++ branches/proto/v3/boost/thread/win32/condition_variable.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -55,10 +55,17 @@
                 }
                 else
                 {
- active_generation_count=(last_active_entry-generations)+1;
+ active_generation_count=unsigned(last_active_entry-generations)+1;
                 }
-
+
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4996)
+#endif
                 std::copy_backward(generations,generations+active_generation_count-1,generations+active_generation_count);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
                 generations[0]=list_entry();
             }
 
@@ -108,6 +115,8 @@
                     }
                     
                 }
+ private:
+ void operator=(relocker&);
             };
             
 

Modified: branches/proto/v3/boost/thread/win32/once.hpp
==============================================================================
--- branches/proto/v3/boost/thread/win32/once.hpp (original)
+++ branches/proto/v3/boost/thread/win32/once.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -46,6 +46,8 @@
             {
                 BOOST_VERIFY(win32::ReleaseMutex(mutex_handle)!=0);
             }
+ private:
+ void operator=(win32_mutex_scoped_lock&);
         };
 
 #ifdef BOOST_NO_ANSI_APIS

Modified: branches/proto/v3/boost/thread/win32/shared_mutex.hpp
==============================================================================
--- branches/proto/v3/boost/thread/win32/shared_mutex.hpp (original)
+++ branches/proto/v3/boost/thread/win32/shared_mutex.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -1,7 +1,7 @@
 #ifndef BOOST_THREAD_WIN32_SHARED_MUTEX_HPP
 #define BOOST_THREAD_WIN32_SHARED_MUTEX_HPP
 
-// (C) Copyright 2006-7 Anthony Williams
+// (C) Copyright 2006-8 Anthony Williams
 //
 // Distributed under the Boost Software License, Version 1.0. (See
 // accompanying file LICENSE_1_0.txt or copy at
@@ -104,7 +104,14 @@
                 }
                 old_state=current_state;
             }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             return !(old_state.exclusive| old_state.exclusive_waiting_blocked);
         }
 
@@ -115,7 +122,14 @@
 
         bool timed_lock_shared(boost::system_time const& wait_until)
         {
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true)
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             {
                 state_data old_state=state;
                 do
@@ -137,7 +151,14 @@
                     }
                     old_state=current_state;
                 }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
                 while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
 
                 if(!(old_state.exclusive| old_state.exclusive_waiting_blocked))
                 {
@@ -169,7 +190,14 @@
                         }
                         old_state=current_state;
                     }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
                     while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
 
                     if(!(old_state.exclusive| old_state.exclusive_waiting_blocked))
                     {
@@ -226,7 +254,14 @@
                 }
                 old_state=current_state;
             }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
         }
 
         void lock()
@@ -236,7 +271,14 @@
 
         bool timed_lock(boost::system_time const& wait_until)
         {
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true)
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             {
                 state_data old_state=state;
 
@@ -260,7 +302,14 @@
                     }
                     old_state=current_state;
                 }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
                 while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
 
                 if(!old_state.shared_count && !old_state.exclusive)
                 {
@@ -291,7 +340,14 @@
                         }
                         old_state=current_state;
                     }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
                     while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
                     if(!old_state.shared_count && !old_state.exclusive)
                     {
                         return true;
@@ -323,13 +379,27 @@
                 }
                 old_state=current_state;
             }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             release_waiters(old_state);
         }
 
         void lock_upgrade()
         {
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true)
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             {
                 state_data old_state=state;
                 do
@@ -352,7 +422,14 @@
                     }
                     old_state=current_state;
                 }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
                 while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
 
                 if(!(old_state.exclusive|| old_state.exclusive_waiting_blocked|| old_state.upgrade))
                 {
@@ -393,7 +470,14 @@
                 }
                 old_state=current_state;
             }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
         }
 
         void unlock_upgrade_and_lock()
@@ -421,7 +505,14 @@
                 }
                 old_state=current_state;
             }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
         }
 
         void unlock_and_lock_upgrade()
@@ -447,7 +538,14 @@
                 }
                 old_state=current_state;
             }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             release_waiters(old_state);
         }
         
@@ -473,7 +571,14 @@
                 }
                 old_state=current_state;
             }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             release_waiters(old_state);
         }
         
@@ -498,7 +603,14 @@
                 }
                 old_state=current_state;
             }
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
             while(true);
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
             release_waiters(old_state);
         }
         

Modified: branches/proto/v3/boost/thread/win32/thread.hpp
==============================================================================
--- branches/proto/v3/boost/thread/win32/thread.hpp (original)
+++ branches/proto/v3/boost/thread/win32/thread.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -21,6 +21,13 @@
 #include <boost/ref.hpp>
 #include <boost/cstdint.hpp>
 #include <boost/bind.hpp>
+#include <stdlib.h>
+#include <memory>
+
+#ifdef BOOST_MSVC
+#pragma warning(push)
+#pragma warning(disable:4251)
+#endif
 
 namespace boost
 {
@@ -476,9 +483,9 @@
         thread* create_thread(F threadfunc)
         {
             boost::lock_guard<mutex> guard(m);
- thread* const new_thread=new thread(threadfunc);
- threads.push_back(new_thread);
- return new_thread;
+ std::auto_ptr<thread> new_thread(new thread(threadfunc));
+ threads.push_back(new_thread.get());
+ return new_thread.release();
         }
         
         void add_thread(thread* thrd)
@@ -524,7 +531,7 @@
             }
         }
         
- int size() const
+ size_t size() const
         {
             boost::lock_guard<mutex> guard(m);
             return threads.size();
@@ -536,4 +543,8 @@
     };
 }
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif

Modified: branches/proto/v3/boost/xpressive/match_results.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/match_results.hpp (original)
+++ branches/proto/v3/boost/xpressive/match_results.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -30,6 +30,7 @@
 #include <boost/config.hpp>
 #include <boost/assert.hpp>
 #include <boost/integer.hpp>
+#include <boost/mpl/if.hpp>
 #include <boost/mpl/not.hpp>
 #include <boost/mpl/size_t.hpp>
 #include <boost/mpl/assert.hpp>
@@ -37,6 +38,7 @@
 #include <boost/throw_exception.hpp>
 #include <boost/iterator_adaptors.hpp>
 #include <boost/utility/enable_if.hpp>
+#include <boost/detail/workaround.hpp>
 #include <boost/numeric/conversion/converter.hpp>
 #include <boost/range/end.hpp>
 #include <boost/range/begin.hpp>
@@ -318,6 +320,16 @@
   : mpl::not_<is_function<T> >
 {};
 
+#if BOOST_WORKAROUND(__GNUC__, == 4) && (__GNUC_MINOR__ == 0)
+// work around gcc-4.0.1 compiler bug wrt function references
+template<typename T>
+typename mpl::if_<is_function<T>, T *, T const &>::type
+as_callable(T const &t)
+{
+ return t;
+}
+#endif
+
 } // detail
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -852,7 +864,11 @@
       , mpl::size_t<1>
     ) const
     {
+ #if BOOST_WORKAROUND(__GNUC__, == 4) && (__GNUC_MINOR__ == 0)
+ return this->format2_(out, detail::as_callable(format)(*this));
+ #else
         return this->format2_(out, format(*this));
+ #endif
     }
 
     /// INTERNAL ONLY
@@ -866,7 +882,11 @@
       , mpl::size_t<2>
     ) const
     {
+ #if BOOST_WORKAROUND(__GNUC__, == 4) && (__GNUC_MINOR__ == 0)
+ return detail::as_callable(format)(*this, out);
+ #else
         return format(*this, out);
+ #endif
     }
 
     /// INTERNAL ONLY
@@ -880,7 +900,11 @@
       , mpl::size_t<3>
     ) const
     {
+ #if BOOST_WORKAROUND(__GNUC__, == 4) && (__GNUC_MINOR__ == 0)
+ return detail::as_callable(format)(*this, out, flags);
+ #else
         return format(*this, out, flags);
+ #endif
     }
 
     /// INTERNAL ONLY

Modified: branches/proto/v3/boost/xpressive/regex_algorithms.hpp
==============================================================================
--- branches/proto/v3/boost/xpressive/regex_algorithms.hpp (original)
+++ branches/proto/v3/boost/xpressive/regex_algorithms.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -42,24 +42,24 @@
 
 /// \brief See if a regex matches a sequence from beginning to end.
 ///
-/// Determines whether there is an exact match between the regular expression re,
-/// and all of the sequence [begin, end).
+/// Determines whether there is an exact match between the regular expression \c re,
+/// and all of the sequence <tt>[begin, end)</tt>.
 ///
-/// \pre Types BidiIter and OtherBidiIter meet the requirements of a Bidirectional Iterator (24.1.4).
-/// \pre OtherBidiIter is convertible to BidiIter.
-/// \pre [begin,end) denotes a valid iterator range.
+/// \pre Type \c BidiIter meets the requirements of a Bidirectional Iterator (24.1.4).
+/// \pre <tt>[begin,end)</tt> denotes a valid iterator range.
 /// \param begin The beginning of the sequence.
 /// \param end The end of the sequence.
-/// \param what The match_results struct into which the sub_matches will be written
+/// \param what The \c match_results struct into which the sub_matches will be written
 /// \param re The regular expression object to use
-/// \param flags Optional match flags, used to control how the expression is matched against the sequence. (See match_flag_type.)
-/// \return true if a match is found, false otherwise
-/// \throw regex_error on stack exhaustion
-template<typename OtherBidiIter, typename BidiIter>
+/// \param flags Optional match flags, used to control how the expression is matched
+/// against the sequence. (See \c match_flag_type.)
+/// \return \c true if a match is found, \c false otherwise
+/// \throw \c regex_error on stack exhaustion
+template<typename BidiIter>
 inline bool regex_match
 (
- OtherBidiIter begin
- , OtherBidiIter end
+ BOOST_XPR_NONDEDUCED_TYPE_(BidiIter) begin
+ , BOOST_XPR_NONDEDUCED_TYPE_(BidiIter) end
   , match_results<BidiIter> &what
   , basic_regex<BidiIter> const &re
   , regex_constants::match_flag_type flags = regex_constants::match_default
@@ -96,18 +96,18 @@
 
 /// \overload
 ///
-template<typename OtherBidiIter, typename BidiIter>
+template<typename BidiIter>
 inline bool regex_match
 (
- OtherBidiIter begin
- , OtherBidiIter end
+ BOOST_XPR_NONDEDUCED_TYPE_(BidiIter) begin
+ , BOOST_XPR_NONDEDUCED_TYPE_(BidiIter) end
   , basic_regex<BidiIter> const &re
   , regex_constants::match_flag_type flags = regex_constants::match_default
 )
 {
     // BUGBUG this is inefficient
     match_results<BidiIter> what;
- return regex_match(begin, end, what, re, flags);
+ return xpressive::regex_match(begin, end, what, re, flags);
 }
 
 /// \overload
@@ -124,7 +124,7 @@
     // BUGBUG this is inefficient
     typedef typename remove_const<Char>::type char_type;
     Char *end = begin + std::char_traits<char_type>::length(begin);
- return regex_match(begin, end, what, re, flags);
+ return xpressive::regex_match(begin, end, what, re, flags);
 }
 
 /// \overload
@@ -136,13 +136,13 @@
   , match_results<BidiIter> &what
   , basic_regex<BidiIter> const &re
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<is_pointer<BidiRange> >::type * = 0
+ , typename disable_if<detail::is_char_ptr<BidiRange> >::type * = 0
 )
 {
     // Note that the result iterator of the range must be convertible
     // to BidiIter here.
     BidiIter begin = boost::begin(rng), end = boost::end(rng);
- return regex_match(begin, end, what, re, flags);
+ return xpressive::regex_match(begin, end, what, re, flags);
 }
 
 /// \overload
@@ -154,13 +154,13 @@
   , match_results<BidiIter> &what
   , basic_regex<BidiIter> const &re
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<is_pointer<BidiRange> >::type * = 0
+ , typename disable_if<detail::is_char_ptr<BidiRange> >::type * = 0
 )
 {
     // Note that the result iterator of the range must be convertible
     // to BidiIter here.
     BidiIter begin = boost::begin(rng), end = boost::end(rng);
- return regex_match(begin, end, what, re, flags);
+ return xpressive::regex_match(begin, end, what, re, flags);
 }
 
 /// \overload
@@ -175,7 +175,7 @@
 {
     // BUGBUG this is inefficient
     match_results<Char *> what;
- return regex_match(begin, what, re, flags);
+ return xpressive::regex_match(begin, what, re, flags);
 }
 
 /// \overload
@@ -186,12 +186,12 @@
     BidiRange &rng
   , basic_regex<BidiIter> const &re
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<is_pointer<BidiRange> >::type * = 0
+ , typename disable_if<detail::is_char_ptr<BidiRange> >::type * = 0
 )
 {
     // BUGBUG this is inefficient
     match_results<BidiIter> what;
- return regex_match(rng, what, re, flags);
+ return xpressive::regex_match(rng, what, re, flags);
 }
 
 /// \overload
@@ -202,12 +202,12 @@
     BidiRange const &rng
   , basic_regex<BidiIter> const &re
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<is_pointer<BidiRange> >::type * = 0
+ , typename disable_if<detail::is_char_ptr<BidiRange> >::type * = 0
 )
 {
     // BUGBUG this is inefficient
     match_results<BidiIter> what;
- return regex_match(rng, what, re, flags);
+ return xpressive::regex_match(rng, what, re, flags);
 }
 
 
@@ -330,25 +330,27 @@
 } // namespace detail
 
 
-/// \brief Determines whether there is some sub-sequence within [begin,end) that matches the regular expression re.
+/// \brief Determines whether there is some sub-sequence within <tt>[begin,end)</tt>
+/// that matches the regular expression \c re.
 ///
-/// Determines whether there is some sub-sequence within [begin,end) that matches the regular expression re.
+/// Determines whether there is some sub-sequence within <tt>[begin,end)</tt> that matches
+/// the regular expression \c re.
 ///
-/// \pre Types BidiIter and OtherBidiIter meet the requirements of a Bidirectional Iterator (24.1.4).
-/// \pre OtherBidiIter is convertible to BidiIter.
-/// \pre [begin,end) denotes a valid iterator range.
+/// \pre Type \c BidiIter meets the requirements of a Bidirectional Iterator (24.1.4).
+/// \pre <tt>[begin,end)</tt> denotes a valid iterator range.
 /// \param begin The beginning of the sequence
 /// \param end The end of the sequence
-/// \param what The match_results struct into which the sub_matches will be written
+/// \param what The \c match_results struct into which the sub_matches will be written
 /// \param re The regular expression object to use
-/// \param flags Optional match flags, used to control how the expression is matched against the sequence. (See match_flag_type.)
-/// \return true if a match is found, false otherwise
-/// \throw regex_error on stack exhaustion
-template<typename OtherBidiIter, typename BidiIter>
+/// \param flags Optional match flags, used to control how the expression is matched against
+/// the sequence. (See \c match_flag_type.)
+/// \return \c true if a match is found, \c false otherwise
+/// \throw \c regex_error on stack exhaustion
+template<typename BidiIter>
 inline bool regex_search
 (
- OtherBidiIter begin
- , OtherBidiIter end
+ BOOST_XPR_NONDEDUCED_TYPE_(BidiIter) begin
+ , BOOST_XPR_NONDEDUCED_TYPE_(BidiIter) end
   , match_results<BidiIter> &what
   , basic_regex<BidiIter> const &re
   , regex_constants::match_flag_type flags = regex_constants::match_default
@@ -371,18 +373,18 @@
 
 /// \overload
 ///
-template<typename OtherBidiIter, typename BidiIter>
+template<typename BidiIter>
 inline bool regex_search
 (
- OtherBidiIter begin
- , OtherBidiIter end
+ BOOST_XPR_NONDEDUCED_TYPE_(BidiIter) begin
+ , BOOST_XPR_NONDEDUCED_TYPE_(BidiIter) end
   , basic_regex<BidiIter> const &re
   , regex_constants::match_flag_type flags = regex_constants::match_default
 )
 {
     // BUGBUG this is inefficient
     match_results<BidiIter> what;
- return regex_search(begin, end, what, re, flags);
+ return xpressive::regex_search(begin, end, what, re, flags);
 }
 
 /// \overload
@@ -399,7 +401,7 @@
     // BUGBUG this is inefficient
     typedef typename remove_const<Char>::type char_type;
     Char *end = begin + std::char_traits<char_type>::length(begin);
- return regex_search(begin, end, what, re, flags);
+ return xpressive::regex_search(begin, end, what, re, flags);
 }
 
 /// \overload
@@ -411,13 +413,13 @@
   , match_results<BidiIter> &what
   , basic_regex<BidiIter> const &re
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<is_pointer<BidiRange> >::type * = 0
+ , typename disable_if<detail::is_char_ptr<BidiRange> >::type * = 0
 )
 {
     // Note that the result iterator of the range must be convertible
     // to BidiIter here.
     BidiIter begin = boost::begin(rng), end = boost::end(rng);
- return regex_search(begin, end, what, re, flags);
+ return xpressive::regex_search(begin, end, what, re, flags);
 }
 
 /// \overload
@@ -429,13 +431,13 @@
   , match_results<BidiIter> &what
   , basic_regex<BidiIter> const &re
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<is_pointer<BidiRange> >::type * = 0
+ , typename disable_if<detail::is_char_ptr<BidiRange> >::type * = 0
 )
 {
     // Note that the result iterator of the range must be convertible
     // to BidiIter here.
     BidiIter begin = boost::begin(rng), end = boost::end(rng);
- return regex_search(begin, end, what, re, flags);
+ return xpressive::regex_search(begin, end, what, re, flags);
 }
 
 /// \overload
@@ -450,7 +452,7 @@
 {
     // BUGBUG this is inefficient
     match_results<Char *> what;
- return regex_search(begin, what, re, flags);
+ return xpressive::regex_search(begin, what, re, flags);
 }
 
 /// \overload
@@ -461,12 +463,12 @@
     BidiRange &rng
   , basic_regex<BidiIter> const &re
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<is_pointer<BidiRange> >::type * = 0
+ , typename disable_if<detail::is_char_ptr<BidiRange> >::type * = 0
 )
 {
     // BUGBUG this is inefficient
     match_results<BidiIter> what;
- return regex_search(rng, what, re, flags);
+ return xpressive::regex_search(rng, what, re, flags);
 }
 
 /// \overload
@@ -477,12 +479,12 @@
     BidiRange const &rng
   , basic_regex<BidiIter> const &re
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<is_pointer<BidiRange> >::type * = 0
+ , typename disable_if<detail::is_char_ptr<BidiRange> >::type * = 0
 )
 {
     // BUGBUG this is inefficient
     match_results<BidiIter> what;
- return regex_search(rng, what, re, flags);
+ return xpressive::regex_search(rng, what, re, flags);
 }
 
 
@@ -494,14 +496,14 @@
 {
 ///////////////////////////////////////////////////////////////////////////////
 // regex_replace_impl
-template<typename OutIter, typename BidiIter, typename ForwardRangeOrNTBS>
+template<typename OutIter, typename BidiIter, typename Formatter>
 inline OutIter regex_replace_impl
 (
     OutIter out
   , BidiIter begin
   , BidiIter end
   , basic_regex<BidiIter> const &re
- , ForwardRangeOrNTBS const &format
+ , Formatter const &format
   , regex_constants::match_flag_type flags = regex_constants::match_default
 )
 {
@@ -553,120 +555,123 @@
 } // namespace detail
 
 /// \brief Build an output sequence given an input sequence, a regex, and a format string or
-/// a formatter object or function.
-///
-/// Constructs a regex_iterator object: regex_iterator\< BidiIter \> i(begin, end, re, flags),
-/// and uses i to enumerate through all of the matches m of type match_results\< BidiIter \> that
-/// occur within the sequence [begin, end). If no such matches are found and !(flags \& format_no_copy)
-/// then calls std::copy(begin, end, out). Otherwise, for each match found, if !(flags \& format_no_copy)
-/// calls std::copy(m.prefix().first, m.prefix().second, out), and then calls m.format(out, format, flags).
-/// Finally if !(flags \& format_no_copy) calls std::copy(last_m.suffix().first, last_m.suffix().second, out)
-/// where last_m is a copy of the last match found. If flags \& format_first_only is non-zero then only
-/// the first match found is replaced.
-///
-/// \pre Types BidiIter and OtherBidiIter meet the requirements of a Bidirectional Iterator (24.1.4).
-/// \pre Type OutIter meets the requirements of an Output Iterator (24.1.2).
-/// \pre OtherBidiIter is convertible to BidiIter.
-/// \pre [begin,end) denotes a valid iterator range.
+/// a formatter object, function, or expression.
 ///
+/// Constructs a \c regex_iterator object: <tt>regex_iterator\< BidiIter \> i(begin, end, re, flags)</tt>,
+/// and uses \c i to enumerate through all of the matches m of type <tt>match_results\< BidiIter \></tt> that
+/// occur within the sequence <tt>[begin, end)</tt>. If no such matches are found and <tt>!(flags \& format_no_copy)</tt>
+/// then calls <tt>std::copy(begin, end, out)</tt>. Otherwise, for each match found, if <tt>!(flags \& format_no_copy)</tt>
+/// calls <tt>std::copy(m.prefix().first, m.prefix().second, out)</tt>, and then calls <tt>m.format(out, format, flags)</tt>.
+/// Finally if <tt>!(flags \& format_no_copy)</tt> calls <tt>std::copy(last_m.suffix().first, last_m.suffix().second, out)</tt>
+/// where \c last_m is a copy of the last match found.
+///
+/// If <tt>flags \& format_first_only</tt> is non-zero then only the first match found is replaced.
+///
+/// \pre Type \c BidiIter meets the requirements of a Bidirectional Iterator (24.1.4).
+/// \pre Type \c OutIter meets the requirements of an Output Iterator (24.1.2).
+/// \pre Type \c Formatter models \c ForwardRange, <tt>Callable\<match_results\<BidiIter\> \></tt>,
+/// <tt>Callable\<match_results\<BidiIter\>, OutIter\></tt>, or
+/// <tt>Callable\<match_results\<BidiIter\>, OutIter, regex_constants::match_flag_type\></tt>;
+/// or else it is a null-terminated format string, or an expression template
+/// representing a formatter lambda expression.
+/// \pre <tt>[begin,end)</tt> denotes a valid iterator range.
 /// \param out An output iterator into which the output sequence is written.
 /// \param begin The beginning of the input sequence.
 /// \param end The end of the input sequence.
 /// \param re The regular expression object to use.
 /// \param format The format string used to format the replacement sequence,
-/// or a formatter function or function object.
-/// \param flags Optional match flags, used to control how the expression is matched against the sequence. (See match_flag_type.)
+/// or a formatter function, function object, or expression.
+/// \param flags Optional match flags, used to control how the expression is matched against
+/// the sequence. (See \c match_flag_type.)
 /// \return The value of the output iterator after the output sequence has been written to it.
-/// \throw regex_error on stack exhaustion or invalid format string.
-template<typename OutIter, typename OtherBidiIter, typename BidiIter, typename ForwardRange>
+/// \throw \c regex_error on stack exhaustion or invalid format string.
+template<typename OutIter, typename BidiIter, typename Formatter>
 inline OutIter regex_replace
 (
     OutIter out
- , OtherBidiIter begin
- , OtherBidiIter end
+ , BOOST_XPR_NONDEDUCED_TYPE_(BidiIter) begin
+ , BOOST_XPR_NONDEDUCED_TYPE_(BidiIter) end
   , basic_regex<BidiIter> const &re
- , ForwardRange const &format
+ , Formatter const &format
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<detail::is_char_ptr<ForwardRange> >::type * = 0
+ , typename disable_if<detail::is_char_ptr<Formatter> >::type * = 0
 )
 {
- BidiIter begin_ = begin, end_ = end;
- return detail::regex_replace_impl(out, begin_, end_, re, format, flags);
+ return detail::regex_replace_impl(out, begin, end, re, format, flags);
 }
 
 /// \overload
 ///
-template<typename OutIter, typename OtherBidiIter, typename BidiIter>
+template<typename OutIter, typename BidiIter>
 inline OutIter regex_replace
 (
     OutIter out
- , OtherBidiIter begin
- , OtherBidiIter end
+ , BOOST_XPR_NONDEDUCED_TYPE_(BidiIter) begin
+ , BOOST_XPR_NONDEDUCED_TYPE_(BidiIter) end
   , basic_regex<BidiIter> const &re
   , typename iterator_value<BidiIter>::type const *format
   , regex_constants::match_flag_type flags = regex_constants::match_default
 )
 {
- BidiIter begin_ = begin, end_ = end;
- return detail::regex_replace_impl(out, begin_, end_, re, format, flags);
+ return detail::regex_replace_impl(out, begin, end, re, format, flags);
 }
 
 /// \overload
 ///
-template<typename BidiContainer, typename BidiIter, typename ForwardRange>
+template<typename BidiContainer, typename BidiIter, typename Formatter>
 inline BidiContainer regex_replace
 (
     BidiContainer &str
   , basic_regex<BidiIter> const &re
- , ForwardRange const &format
+ , Formatter const &format
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<mpl::or_<is_pointer<BidiContainer>, detail::is_char_ptr<ForwardRange> > >::type * = 0
+ , typename disable_if<mpl::or_<detail::is_char_ptr<BidiContainer>, detail::is_char_ptr<Formatter> > >::type * = 0
 )
 {
     BidiContainer result;
     // Note that the result iterator of the range must be convertible
     // to BidiIter here.
     BidiIter begin = boost::begin(str), end = boost::end(str);
- regex_replace(std::back_inserter(result), begin, end, re, format, flags);
+ xpressive::regex_replace(std::back_inserter(result), begin, end, re, format, flags);
     return result;
 }
 
 /// \overload
 ///
-template<typename BidiContainer, typename BidiIter, typename ForwardRange>
+template<typename BidiContainer, typename BidiIter, typename Formatter>
 inline BidiContainer regex_replace
 (
     BidiContainer const &str
   , basic_regex<BidiIter> const &re
- , ForwardRange const &format
+ , Formatter const &format
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<mpl::or_<is_pointer<BidiContainer>, detail::is_char_ptr<ForwardRange> > >::type * = 0
+ , typename disable_if<mpl::or_<detail::is_char_ptr<BidiContainer>, detail::is_char_ptr<Formatter> > >::type * = 0
 )
 {
     BidiContainer result;
     // Note that the result iterator of the range must be convertible
     // to BidiIter here.
     BidiIter begin = boost::begin(str), end = boost::end(str);
- regex_replace(std::back_inserter(result), begin, end, re, format, flags);
+ xpressive::regex_replace(std::back_inserter(result), begin, end, re, format, flags);
     return result;
 }
 
 /// \overload
 ///
-template<typename Char, typename ForwardRange>
+template<typename Char, typename Formatter>
 inline std::basic_string<typename remove_const<Char>::type> regex_replace
 (
     BOOST_XPR_NONDEDUCED_TYPE_(Char) *str
   , basic_regex<Char *> const &re
- , ForwardRange const &format
+ , Formatter const &format
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<detail::is_char_ptr<ForwardRange> >::type * = 0
+ , typename disable_if<detail::is_char_ptr<Formatter> >::type * = 0
 )
 {
     typedef typename remove_const<Char>::type char_type;
     std::basic_string<char_type> result;
     Char *end = str + std::char_traits<char_type>::length(str);
- regex_replace(std::back_inserter(result), str, end, re, format, flags);
+ xpressive::regex_replace(std::back_inserter(result), str, end, re, format, flags);
     return result;
 }
 
@@ -679,14 +684,14 @@
   , basic_regex<BidiIter> const &re
   , typename iterator_value<BidiIter>::type const *format
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<is_pointer<BidiContainer> >::type * = 0
+ , typename disable_if<detail::is_char_ptr<BidiContainer> >::type * = 0
 )
 {
     BidiContainer result;
     // Note that the result iterator of the range must be convertible
     // to BidiIter here.
     BidiIter begin = boost::begin(str), end = boost::end(str);
- regex_replace(std::back_inserter(result), begin, end, re, format, flags);
+ xpressive::regex_replace(std::back_inserter(result), begin, end, re, format, flags);
     return result;
 }
 
@@ -699,14 +704,14 @@
   , basic_regex<BidiIter> const &re
   , typename iterator_value<BidiIter>::type const *format
   , regex_constants::match_flag_type flags = regex_constants::match_default
- , typename disable_if<is_pointer<BidiContainer> >::type * = 0
+ , typename disable_if<detail::is_char_ptr<BidiContainer> >::type * = 0
 )
 {
     BidiContainer result;
     // Note that the result iterator of the range must be convertible
     // to BidiIter here.
     BidiIter begin = boost::begin(str), end = boost::end(str);
- regex_replace(std::back_inserter(result), begin, end, re, format, flags);
+ xpressive::regex_replace(std::back_inserter(result), begin, end, re, format, flags);
     return result;
 }
 
@@ -724,7 +729,7 @@
     typedef typename remove_const<Char>::type char_type;
     std::basic_string<char_type> result;
     Char *end = str + std::char_traits<char_type>::length(str);
- regex_replace(std::back_inserter(result), str, end, re, format, flags);
+ xpressive::regex_replace(std::back_inserter(result), str, end, re, format, flags);
     return result;
 }
 

Modified: branches/proto/v3/doc/Jamfile.v2
==============================================================================
--- branches/proto/v3/doc/Jamfile.v2 (original)
+++ branches/proto/v3/doc/Jamfile.v2 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -41,6 +41,7 @@
     <dependency>../libs/intrusive/doc//intrusive
     <dependency>../libs/unordered/doc//unordered
     <dependency>../libs/asio/doc//asio
+ <dependency>../libs/thread/doc//thread
 
     ## Add path references to the QuickBook generated docs...
 
@@ -58,6 +59,7 @@
     <implicit-dependency>../libs/interprocess/doc//interprocess
     <implicit-dependency>../libs/intrusive/doc//intrusive
     <implicit-dependency>../libs/unordered/doc//unordered
+ <implicit-dependency>../libs/thread/doc//thread
 
     <xsl:param>boost.libraries=../../libs/libraries.htm
 

Modified: branches/proto/v3/doc/src/boost.xml
==============================================================================
--- branches/proto/v3/doc/src/boost.xml (original)
+++ branches/proto/v3/doc/src/boost.xml 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -640,7 +640,7 @@
      </libraryinfo>
    </library>
    
- <xi:include href="../../libs/thread/doc/thread.xml"/>
+ <xi:include href="thread.xml"/>
 
    <library name="Timer" dirname="timer" html-only="1"
             url="../../libs/timer/index.html">

Modified: branches/proto/v3/libs/circular_buffer/doc/circular_buffer.html
==============================================================================
--- branches/proto/v3/libs/circular_buffer/doc/circular_buffer.html (original)
+++ branches/proto/v3/libs/circular_buffer/doc/circular_buffer.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -943,7 +943,8 @@
               </dt>
               <dd>
                 This constructor has been defined only due to compatibility with the STL container definition. Avoid
- using it because it may allocate <b>very large</b> amount of memory.
+ using it because it may allocate <b>very large</b> amount of memory (depending on allocator's
+ max_size()).
               </dd>
             </dl>
           </td>
@@ -3187,7 +3188,8 @@
                 <code><a href=
                 "#classboost_1_1circular__buffer_195158ed4d4b03794068e259f85291995">max_size()</a></code>,
                 <code>reserve()</code>,
- <code>resize()</code>
+ <code><a href="#classboost_1_1circular__buffer_180c2e2e66a8fa9d0b7adc1b54921a8c3">resize(size_type,
+ const_reference)</a></code>
               </dd>
             </dl>
           </td>
@@ -3199,7 +3201,8 @@
             "#classboost_1_1circular__buffer_19ba12c0142a21a7d960877c22fa3ea00">size_type</a> max_size()
             const;</b></code><br>
             <br>
- Get the largest possible size or capacity of the <code>circular_buffer</code>.
+ Get the largest possible size or capacity of the <code>circular_buffer</code>. (It depends on allocator's
+ max_size()).
             <dl>
               <dt>
                 <b>Returns:</b>
@@ -3490,7 +3493,7 @@
                 <code><a href=
                 "#classboost_1_1circular__buffer_195158ed4d4b03794068e259f85291995">max_size()</a></code>,
                 <code><a href=
- "#classboost_1_1circular__buffer_161714204ef5172d156e2c7eccd04998f">set_capacity()</a></code>
+ "#classboost_1_1circular__buffer_161714204ef5172d156e2c7eccd04998f">set_capacity(capacity_type)</a></code>
               </dd>
             </dl>
           </td>
@@ -3579,8 +3582,9 @@
               </dt>
               <dd>
                 <code><a href=
- "#classboost_1_1circular__buffer_1477715e9d31d2cc5b02ad8ecf3c68c46">rset_capacity()</a></code>,
- <code>resize()</code>
+ "#classboost_1_1circular__buffer_1477715e9d31d2cc5b02ad8ecf3c68c46">rset_capacity(capacity_type)</a></code>,
+ <code><a href="#classboost_1_1circular__buffer_180c2e2e66a8fa9d0b7adc1b54921a8c3">resize(size_type,
+ const_reference)</a></code>
               </dd>
             </dl>
           </td>
@@ -3685,9 +3689,9 @@
                 <b>See Also:</b>
               </dt>
               <dd>
- <code>rresize()</code>,
- <code><a href=
- "#classboost_1_1circular__buffer_161714204ef5172d156e2c7eccd04998f">set_capacity()</a></code>
+ <code><a href="#classboost_1_1circular__buffer_144ecd9ec5f54a2d61c7d132e445d3483">rresize(size_type,
+ const_reference)</a></code>, <code><a href=
+ "#classboost_1_1circular__buffer_161714204ef5172d156e2c7eccd04998f">set_capacity(capacity_type)</a></code>
               </dd>
             </dl>
           </td>
@@ -3776,8 +3780,9 @@
               </dt>
               <dd>
                 <code><a href=
- "#classboost_1_1circular__buffer_161714204ef5172d156e2c7eccd04998f">set_capacity()</a></code>,
- <code>rresize()</code>
+ "#classboost_1_1circular__buffer_161714204ef5172d156e2c7eccd04998f">set_capacity(capacity_type)</a></code>,
+ <code><a href="#classboost_1_1circular__buffer_144ecd9ec5f54a2d61c7d132e445d3483">rresize(size_type,
+ const_reference)</a></code>
               </dd>
             </dl>
           </td>
@@ -3882,9 +3887,9 @@
                 <b>See Also:</b>
               </dt>
               <dd>
- <code>rresize()</code>,
- <code><a href=
- "#classboost_1_1circular__buffer_161714204ef5172d156e2c7eccd04998f">set_capacity()</a></code>
+ <code><a href="#classboost_1_1circular__buffer_180c2e2e66a8fa9d0b7adc1b54921a8c3">resize(size_type,
+ const_reference)</a></code>, <code><a href=
+ "#classboost_1_1circular__buffer_1477715e9d31d2cc5b02ad8ecf3c68c46">rset_capacity(capacity_type)</a></code>
               </dd>
             </dl>
           </td>
@@ -4594,7 +4599,7 @@
               </dt>
               <dd>
                 <code><a href=
- "#classboost_1_1circular__buffer_10ef57e73c193682a649d8eb4a1096dce">push_front()</a></code>,
+ "#classboost_1_1circular__buffer_10ef57e73c193682a649d8eb4a1096dce">push_front(const_reference)</a></code>,
                 <code><a href=
                 "#classboost_1_1circular__buffer_1df0da00cb501bea75afbbfab9f546a07">pop_back()</a></code>,
                 <code><a href=
@@ -4676,7 +4681,7 @@
               </dt>
               <dd>
                 <code><a href=
- "#classboost_1_1circular__buffer_1aa35dd7ef8eb1d04508494d1835cc82e">push_back()</a></code>,
+ "#classboost_1_1circular__buffer_1aa35dd7ef8eb1d04508494d1835cc82e">push_back(const_reference)</a></code>,
                 <code><a href=
                 "#classboost_1_1circular__buffer_1df0da00cb501bea75afbbfab9f546a07">pop_back()</a></code>,
                 <code><a href=
@@ -4748,9 +4753,9 @@
                 <code><a href=
                 "#classboost_1_1circular__buffer_18ac972dc24ef7236faa1875de92b9dd8">pop_front()</a></code>,
                 <code><a href=
- "#classboost_1_1circular__buffer_1aa35dd7ef8eb1d04508494d1835cc82e">push_back()</a></code>,
+ "#classboost_1_1circular__buffer_1aa35dd7ef8eb1d04508494d1835cc82e">push_back(const_reference)</a></code>,
                 <code><a href=
- "#classboost_1_1circular__buffer_10ef57e73c193682a649d8eb4a1096dce">push_front()</a></code>
+ "#classboost_1_1circular__buffer_10ef57e73c193682a649d8eb4a1096dce">push_front(const_reference)</a></code>
               </dd>
             </dl>
           </td>
@@ -4818,9 +4823,9 @@
                 <code><a href=
                 "#classboost_1_1circular__buffer_1df0da00cb501bea75afbbfab9f546a07">pop_back()</a></code>,
                 <code><a href=
- "#classboost_1_1circular__buffer_1aa35dd7ef8eb1d04508494d1835cc82e">push_back()</a></code>,
+ "#classboost_1_1circular__buffer_1aa35dd7ef8eb1d04508494d1835cc82e">push_back(const_reference)</a></code>,
                 <code><a href=
- "#classboost_1_1circular__buffer_10ef57e73c193682a649d8eb4a1096dce">push_front()</a></code>
+ "#classboost_1_1circular__buffer_10ef57e73c193682a649d8eb4a1096dce">push_front(const_reference)</a></code>
               </dd>
             </dl>
           </td>

Modified: branches/proto/v3/libs/circular_buffer/doc/space_optimized.html
==============================================================================
--- branches/proto/v3/libs/circular_buffer/doc/space_optimized.html (original)
+++ branches/proto/v3/libs/circular_buffer/doc/space_optimized.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -1194,7 +1194,8 @@
                 <code><a href=
                 "circular_buffer.html#classboost_1_1circular__buffer_195158ed4d4b03794068e259f85291995">max_size()</a></code>,
                 <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_149f28bc5b33d2062b9f6a33b48264e3f">set_capacity()</a></code>
+ "#classboost_1_1circular__buffer__space__optimized_149f28bc5b33d2062b9f6a33b48264e3f">set_capacity(const
+ capacity_type&amp;)</a></code>
               </dd>
             </dl>
           </td>
@@ -1311,9 +1312,10 @@
               </dt>
               <dd>
                 <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_10f096c108ebde69ae83a9de41b3bea56">rset_capacity()</a></code>,
- <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_1f244ff5576b79f8d60e273c02d71c9f2">resize()</a></code>
+ "#classboost_1_1circular__buffer__space__optimized_10f096c108ebde69ae83a9de41b3bea56">rset_capacity(const
+ capacity_type&amp;)</a></code>, <code><a href=
+ "#classboost_1_1circular__buffer__space__optimized_1f244ff5576b79f8d60e273c02d71c9f2">resize(size_type,
+ const_reference)</a></code>
               </dd>
             </dl>
           </td>
@@ -1423,9 +1425,10 @@
               </dt>
               <dd>
                 <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_1d45e2e72d9e3fb42e090ebc47ac8d7ee">rresize()</a></code>,
- <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_149f28bc5b33d2062b9f6a33b48264e3f">set_capacity()</a></code>
+ "#classboost_1_1circular__buffer__space__optimized_1d45e2e72d9e3fb42e090ebc47ac8d7ee">rresize(size_type,
+ const_reference)</a></code>, <code><a href=
+ "#classboost_1_1circular__buffer__space__optimized_149f28bc5b33d2062b9f6a33b48264e3f">set_capacity(const
+ capacity_type&amp;)</a></code>
               </dd>
             </dl>
           </td>
@@ -1523,9 +1526,10 @@
               </dt>
               <dd>
                 <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_149f28bc5b33d2062b9f6a33b48264e3f">set_capacity()</a></code>,
- <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_1d45e2e72d9e3fb42e090ebc47ac8d7ee">rresize()</a></code>
+ "#classboost_1_1circular__buffer__space__optimized_149f28bc5b33d2062b9f6a33b48264e3f">set_capacity(const
+ capacity_type&amp;)</a></code>, <code><a href=
+ "#classboost_1_1circular__buffer__space__optimized_1d45e2e72d9e3fb42e090ebc47ac8d7ee">rresize(size_type,
+ const_reference)</a></code>
               </dd>
             </dl>
           </td>
@@ -1635,9 +1639,10 @@
               </dt>
               <dd>
                 <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_1d45e2e72d9e3fb42e090ebc47ac8d7ee">rresize()</a></code>,
- <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_149f28bc5b33d2062b9f6a33b48264e3f">set_capacity()</a></code>
+ "#classboost_1_1circular__buffer__space__optimized_1f244ff5576b79f8d60e273c02d71c9f2">resize(size_type,
+ const_reference)</a></code>, <code><a href=
+ "#classboost_1_1circular__buffer__space__optimized_10f096c108ebde69ae83a9de41b3bea56">rset_capacity(const
+ capacity_type&amp;)</a></code>
               </dd>
             </dl>
           </td>
@@ -2400,7 +2405,7 @@
               </dt>
               <dd>
                 <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_1f0484fd492b377ff80c0bcb76183162c">push_front()</a></code>,
+ "#classboost_1_1circular__buffer__space__optimized_1f0484fd492b377ff80c0bcb76183162c">push_front(const_reference)</a></code>,
                 <code><a href=
                 "#classboost_1_1circular__buffer__space__optimized_19c4290c18ab3dd2462dc01fb8368dff6">pop_back()</a></code>,
                 <code><a href=
@@ -2493,7 +2498,7 @@
               </dt>
               <dd>
                 <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_1cf3ffed54f5fece9315fb96726e5e205">push_back()</a></code>,
+ "#classboost_1_1circular__buffer__space__optimized_1cf3ffed54f5fece9315fb96726e5e205">push_back(const_reference)</a></code>,
                 <code><a href=
                 "#classboost_1_1circular__buffer__space__optimized_19c4290c18ab3dd2462dc01fb8368dff6">pop_back()</a></code>,
                 <code><a href=
@@ -2570,9 +2575,9 @@
                 <code><a href=
                 "#classboost_1_1circular__buffer__space__optimized_1d7d496c40fc053258ac7d19cf5261788">pop_front()</a></code>,
                 <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_1cf3ffed54f5fece9315fb96726e5e205">push_back()</a></code>,
+ "#classboost_1_1circular__buffer__space__optimized_1cf3ffed54f5fece9315fb96726e5e205">push_back(const_reference)</a></code>,
                 <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_1f0484fd492b377ff80c0bcb76183162c">push_front()</a></code>
+ "#classboost_1_1circular__buffer__space__optimized_1f0484fd492b377ff80c0bcb76183162c">push_front(const_reference)</a></code>
               </dd>
             </dl>
           </td>
@@ -2645,9 +2650,9 @@
                 <code><a href=
                 "#classboost_1_1circular__buffer__space__optimized_19c4290c18ab3dd2462dc01fb8368dff6">pop_back()</a></code>,
                 <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_1cf3ffed54f5fece9315fb96726e5e205">push_back()</a></code>,
+ "#classboost_1_1circular__buffer__space__optimized_1cf3ffed54f5fece9315fb96726e5e205">push_back(const_reference)</a></code>,
                 <code><a href=
- "#classboost_1_1circular__buffer__space__optimized_1f0484fd492b377ff80c0bcb76183162c">push_front()</a></code>
+ "#classboost_1_1circular__buffer__space__optimized_1f0484fd492b377ff80c0bcb76183162c">push_front(const_reference)</a></code>
               </dd>
             </dl>
           </td>

Modified: branches/proto/v3/libs/filesystem/doc/do-list.htm
==============================================================================
--- branches/proto/v3/libs/filesystem/doc/do-list.htm (original)
+++ branches/proto/v3/libs/filesystem/doc/do-list.htm 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -4,8 +4,7 @@
 Do-list</h1>
 <h2>Current</h2>
 <ul>
- <li>Add test cases and docs for Windows \\?\ and
- \\?\UNC\ naming conventions.</li>
+ <li>Add test cases and docs for Windows \\?\ and \\?\UNC\ naming conventions.</li>
   <li>Should operations.cpp assert or BOOST_ASSERT on more preconditions?</li>
   <li>Apply PJP's Wide/Narrow conversion proposal to traits, once he stabilizes it.</li>
   <li>Glob syntax -&gt; regex syntax converter. See
@@ -35,7 +34,7 @@
 </ul>
 <hr>
 <p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->06 February, 2006<!--webbot bot="Timestamp" endspan i-checksum="40411" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->18 March, 2008<!--webbot bot="Timestamp" endspan i-checksum="29005" --></p>
 <p>© Copyright Beman Dawes, 2002</p>
 <p> Use, modification, and distribution are subject to the Boost Software
 License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt">

Modified: branches/proto/v3/libs/filesystem/doc/faq.htm
==============================================================================
--- branches/proto/v3/libs/filesystem/doc/faq.htm (original)
+++ branches/proto/v3/libs/filesystem/doc/faq.htm 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -141,15 +141,9 @@
 basic_path</i> member
 functions, while operations performed by the operating system are provided as
 free functions.</p>
-<p><b>Why is path normalized form different
-from canonical form?</b></p>
-<p>On operating systems such as POSIX which allow symbolic links to directories,
-the normalized form of a path can represent a different location than the
-canonical form. See use case
-from Walter Landry.</p>
 <hr>
 <p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->08 November, 2007<!--webbot bot="Timestamp" endspan i-checksum="39371" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->18 March, 2008<!--webbot bot="Timestamp" endspan i-checksum="29005" --></p>
 <p>© Copyright Beman Dawes, 2002</p>
 <p> Use, modification, and distribution are subject to the Boost Software
 License, Version 1.0. See <a href="http://www.boost.org/LICENSE_1_0.txt">

Modified: branches/proto/v3/libs/filesystem/doc/i18n.html
==============================================================================
--- branches/proto/v3/libs/filesystem/doc/i18n.html (original)
+++ branches/proto/v3/libs/filesystem/doc/i18n.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -37,8 +37,7 @@
 &nbsp;</li>
   <li>More efficient operations when iterating over directories.<br>
 &nbsp;</li>
- <li>A
- <a href="tr2_proposal.html#Class-template-basic_recursive_directory_iterator">recursive
+ <li>A <a href="reference.html#recursive_directory_iterator">recursive
   directory iterator</a> is now provided. </li>
 </ul>
 <p>Rationale for some of the changes is also provided.</p>
@@ -68,10 +67,10 @@
 file systems the <i>wpath</i> external encoding is <a href="design.htm#Kuhn">
 UTF-8</a>, while for modern Windows file systems such as NTFS it is
 <a href="http://en.wikipedia.org/wiki/UTF-16">UTF-16</a>.</p>
-<p>The operational functions in
+<p>The operational functions in
 <a href="../../../boost/filesystem/operations.hpp">operations.hpp</a> are provided with overloads for
 <i>path</i>, <i>wpath</i>, and user-defined <i>basic_path</i>'s. A
-"do-the-right-thing" rule
+"do-the-right-thing" rule
 applies to implementations, ensuring that the correct overload will be chosen.</p>
 <h2><a name="Simplification">Simplification</a> of path interface</h2>
 <p>Prior versions of the library required users of class <i>path</i> to identify
@@ -90,11 +89,10 @@
   it, but with much less impact on those who don't need it.</li>
 </ul>
 <p>Additionally,
-basic_filesystem_error has been put
+basic_filesystem_error has been put
 on a diet and generally simplified.</p>
-<p>Error codes have been simplified and aligned with [POSIX-01]. A supporting
-header <a href="../../../boost/filesystem/cerrno.hpp">
-&lt;boost/filesystem/cerrno.hpp&gt;</a> is also provided.</p>
+<p>Error codes have been moved to a separate library,
+Boost.System.</p>
 <p><code>&quot;//:&quot;</code> has been introduced as a path escape prefix to identify
 native paths. Rationale: simplifies basic_path constructor interfaces, easier
 use for platforms needing explicit native format identification.</p>
@@ -112,19 +110,19 @@
 <p>As part of the predicate discussions, particularly with Rob Stewart, it
 became obvious that sometimes applications need access to raw status information
 without any possibility of an exception being thrown. The
-status() function was added to meet this
+status() function was added to meet this
 need. It also proved clearer to specify the semantics of predicate functions in
 terms of status().</p>
 <h3><a name="is_file">is_file</a>()</h3>
 <p>About the same time, Jeff Garland suggested that an
-is_file() predicate would
-compliment is_directory(). In working on the analysis below, it became obvious
+is_file() predicate would
+compliment is_directory(). In working on the analysis below, it became obvious
 that the expectations for is_file() were different from the expectations for !is_directory(),
 so is_file() was added. </p>
 <h3><a name="is_other">is_other</a>()</h3>
 <p>On some operating systems, it is possible to have a directory entry which is
 not for either a directory or a file. The
-is_other()
+is_other()
 function identifies such cases.</p>
 <h3>Should predicates throw on errors?</h3>
 <p>Some conditions reported by operating systems as errors (see
@@ -132,7 +130,7 @@
 false, rather than indicating serious failure. But other errors represent
 serious hardware or network problems, or permissions problems.</p>
 <p>Some people, particularly Rob Stewart, argue that in a function like
-is_directory(), any error should simply cause the function to return false. If
+is_directory(), any error should simply cause the function to return false. If
 there is actually an underlying problem, it will be detected it due course when
 a directory_iterator or fstream operation is attempted.</p>
 <p>That view is was rejected because of the following considerations:</p>
@@ -390,7 +388,7 @@
   the problem worse.<br>
 &nbsp;</li>
 </ul>
-<h3>No versions of status() which throw exceptions on
+<h3>No versions of status() which throw exceptions on
 errors</h3>
 <p>The rationale for not including versions of status()
 which throw exceptions on errors is that (1) the primary purpose of this
@@ -398,7 +396,7 @@
 unwanted, and (2) exceptions on errors are already provided by the predicate
 functions. There would be little or no efficiency gain from providing a throwing
 version of status().</p>
-<h3>Symlink identifying version of status() function</h3>
+<h3>Symlink identifying version of status() function</h3>
 <p>A symlink identifying version of the status() function is distinguished by a
 second argument. Often separately named functions are more appropriate than
 overloading when behavior
@@ -417,8 +415,8 @@
 is also provided, to meet unforeseen needs.</p>
 <hr>
 <p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->03 June, 2007<!--webbot bot="Timestamp" endspan i-checksum="19946" --></p>
-<p>© Copyright Beman Dawes, 2005</p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->18 March, 2008<!--webbot bot="Timestamp" endspan i-checksum="29005" --></p>
+<p>© Copyright Beman Dawes, 2005</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/proto/v3/libs/filesystem/doc/index.htm
==============================================================================
--- branches/proto/v3/libs/filesystem/doc/index.htm (original)
+++ branches/proto/v3/libs/filesystem/doc/index.htm 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -128,12 +128,12 @@
 using boost::filesystem; // for ease of tutorial presentation;
                                   // a namespace alias is preferred practice in real code</pre>
 </blockquote>
-<p>A class path object can be created:</p>
+<p>A class path object can be created:</p>
 <blockquote>
   <pre>path my_path( &quot;some_dir/file.txt&quot; );</pre>
 </blockquote>
 <p>The string passed to the <i>path</i> constructor may be in a
-portable generic path format or an
+portable generic path format or an
 implementation-defined native operating system format. Access functions
 make <i>my_path</i> contents available to the underlying operating system API in an operating system dependent format,
 such as <code>&quot;some_dir:file.txt&quot;</code>, <code>&quot;[some_dir]file.txt&quot;</code>,
@@ -166,7 +166,7 @@
 <p>Paths can include references to the current directory, using &quot;<code>.</code>&quot;
 notation, and the parent directory, using &quot;<code>..</code>&quot;
 notation.</p>
-<p>Class basic_directory_iterator
+<p>Class basic_directory_iterator
 is an important component of the library. It provides an input iterator over the
 contents of a directory, with the value type being class <i>basic_path</i>.
 Typedefs <i>directory_iterator</i> and <i>wdirectory_iterator</i> are provided
@@ -227,7 +227,7 @@
 <h4><b>Effects and Postconditions not guaranteed in the presence of race-conditions</b></h4>
 <p>Filesystem function specifications follow the C++ Standard Library form, specifying behavior in terms of
 effects and postconditions. If
-a race-condition exists, a function's
+a race-condition exists, a function's
 postconditions may no longer be true by the time the function returns to the
 caller.</p>
 <blockquote>
@@ -259,7 +259,7 @@
 </blockquote>
 <h4><b>May throw exceptions</b></h4>
 <p>Unless otherwise specified, Boost.Filesystem functions throw <i>
-basic_filesystem_error</i>
+basic_filesystem_error</i>
 exceptions if they cannot successfully complete their operational
 specifications. Also, implementations may use C++ Standard Library functions,
 which may throw <i>std::bad_alloc</i>. These exceptions may be thrown even
@@ -292,10 +292,8 @@
 <p>The programs used to generate the Boost regression test status tables use the
 Filesystem Library extensively.&nbsp; See:</p>
 <ul>
- <li><a href="../../../tools/regression/process_jam_log.cpp">
- process_jam_log.cpp</a></li>
- <li><a href="../../../tools/regression/compiler_status.cpp">
- compiler_status.cpp</a></li>
+ <li>process_jam_log.cpp</li>
+ <li>compiler_status.cpp</li>
 </ul>
 <p>Test programs are sometimes useful in understanding a library, as they
 illustrate what the developer expected to work and not work. See:</p>
@@ -498,12 +496,12 @@
   <li>Clearer specification, by reference to [POSIX-01],
   the ISO/IEEE Single Unix Standard, with provisions for Windows and other
   operating systems.</li>
- <li>New functions status,
- symlink_status,
- is_file,
- is_symlink,
- create_hard_link,
- create_symlink, path member and non-member swap, path inserter, path
+ <li>New functions status,
+ symlink_status,
+ is_file,
+ is_symlink,
+ create_hard_link,
+ create_symlink, path member and non-member swap, path inserter, path
   extractor, additional path relational and &quot;/&quot; operator overloads, additional
   path member template functions taking iterator arguments.</li>
   <li>More efficient operations when iterating over directories.</li>
@@ -522,19 +520,19 @@
 <h3>Version 1.32.0</h3>
 
 <ul>
- <li>file_size() function added.</li>
- <li>Class path relational operators added.</li>
- <li>equivalent() function added.</li>
- <li>create_directory() no longer
+ <li>file_size() function added.</li>
+ <li>Class path relational operators added.</li>
+ <li>equivalent() function added.</li>
+ <li>create_directory() no longer
   throws if the directory already exists. A bool is returned, indicating that
   the directory did not preexist. Similar changes made to
- create_directories().</li>
+ create_directories().</li>
   <li>Docs added for users wishing Cygwin/POSIX behavior
   on Windows.</li>
   <li>For POSIX, Large File Support (LSF) is enabled if available, such as on
   Linux.</li>
- <li>current_path() and
- initial_path() on POSIX now handle
+ <li>current_path() and
+ initial_path() on POSIX now handle
   very long paths correctly.</li>
 </ul>
 
@@ -544,7 +542,7 @@
   <li>The object library can now be built for either
   static or dynamic (shared/dll) linking. </li>
   <li>Several added functions, including improved checking for directory and
- file name portability. See <a href="portability_guide.htm#name_check­_functions">
+ file name portability. See <a href="portability_guide.htm#name_check­_functions">
   Name check functions</a>.</li>
   <li>Separation of canonical form and normalized form and a new path member
   function normalize(). This changes behavior,
@@ -555,9 +553,9 @@
 
 <hr>
 <p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->30 November, 2007<!--webbot bot="Timestamp" endspan i-checksum="39358" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->18 March, 2008<!--webbot bot="Timestamp" endspan i-checksum="29005" --></p>
 
-<p>© Copyright Beman Dawes, 2002-2005</p>
+<p>© Copyright Beman Dawes, 2002-2005</p>
 <p> Use, modification, and distribution are subject to the Boost Software
 License, Version 1.0. See <a href="http://www.boost.org/LICENSE_1_0.txt">
 www.boost.org/LICENSE_1_0.txt</a></p>

Modified: branches/proto/v3/libs/filesystem/doc/reference.html
==============================================================================
--- branches/proto/v3/libs/filesystem/doc/reference.html (original)
+++ branches/proto/v3/libs/filesystem/doc/reference.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -343,7 +343,7 @@
 
       template &lt;class Path&gt; class basic_recursive_directory_iterator;
 
- typedef basic_recursive_directory_iterator&lt;path&gt; recursive_directory_iterator;
+ typedef basic_recursive_directory_iterator&lt;path&gt; <a name="recursive_directory_iterator">recursive_directory_iterator</a>;
       typedef basic_recursive_directory_iterator&lt;wpath&gt; wrecursive_directory_iterator;
 
       enum file_type { status_unknown, file_not_found, regular_file, directory_file,
@@ -2260,8 +2260,7 @@
   be <b>residue left over from a prior program</b> run by the command
   processor! Although these semantics are often useful, they are also very
   error-prone.</p>
- <p>See
- <a href="file:///C|/boost/site/libs/filesystem/doc/operations.htm#complete_note">
+ <p>See <a href="#complete_note">
   <i>complete()</i> note</a> for usage suggestions. <i>-- end note</i>]</p>
 </blockquote>
 <h4><a name="Convenience-functions">Convenience functions</a></h4>
@@ -3058,7 +3057,7 @@
 <p>Distributed under the Boost Software License, Version 1.0. See
 <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a></p>
 <p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->14 November 2007<!--webbot bot="Timestamp" endspan i-checksum="40333" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->18 March 2008<!--webbot bot="Timestamp" endspan i-checksum="27357" --></p>
 
 </body>
 

Deleted: branches/proto/v3/libs/filesystem/example/vc++.bat
==============================================================================
--- branches/proto/v3/libs/filesystem/example/vc++.bat 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,5 +0,0 @@
-set BOOST_ROOT=..\..\..
-rem A more robust script would test for BOOST_ROOT already set in the environment.
-
-cl -EHsc -I%BOOST_ROOT% %* -link -LIBPATH:%BOOST_ROOT%\lib
-

Modified: branches/proto/v3/libs/filesystem/src/operations.cpp
==============================================================================
--- branches/proto/v3/libs/filesystem/src/operations.cpp (original)
+++ branches/proto/v3/libs/filesystem/src/operations.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -1319,12 +1319,12 @@
         if ( result == 0 ) return dir_itr_close( handle, buffer );
         target = entry->d_name;
 # ifdef BOOST_FILESYSTEM_STATUS_CACHE
- if ( entry->d_type == DT_UNKNOWN ) // filesystem does not supply d_type value
+ if ( entry->d_type == DT_UNKNOWN ) // filesystem does not supply d_type value
         {
           sf = symlink_sf = fs::file_status(fs::status_unknown);
         }
- else // filesystem supplies d_type value
- {
+ else // filesystem supplies d_type value
+ {
           if ( entry->d_type == DT_DIR )
             sf = symlink_sf = fs::file_status( fs::directory_file );
           else if ( entry->d_type == DT_REG )
@@ -1335,7 +1335,7 @@
             symlink_sf = fs::file_status( fs::symlink_file );
           }
           else sf = symlink_sf = fs::file_status( fs::status_unknown );
- }
+ }
 # else
         sf = symlink_sf = fs::file_status( fs::status_unknown );
 # endif

Modified: branches/proto/v3/libs/functional/hash/doc/Jamfile.v2
==============================================================================
--- branches/proto/v3/libs/functional/hash/doc/Jamfile.v2 (original)
+++ branches/proto/v3/libs/functional/hash/doc/Jamfile.v2 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -3,8 +3,6 @@
 # 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 hash : hash.qbk ;
 boostbook standalone : hash :
     <xsl:param>boost.root=../../../../..

Modified: branches/proto/v3/libs/graph/doc/breadth_first_visit.html
==============================================================================
--- branches/proto/v3/libs/graph/doc/breadth_first_visit.html (original)
+++ branches/proto/v3/libs/graph/doc/breadth_first_visit.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -125,9 +125,6 @@
 <h3>Visitor Event Points</h3>
 
 <ul>
-<li><b><tt>vis.initialize_vertex(v, g)</tt></b> is invoked on every vertex
- before the start of the search.
-
 <li><b><tt>vis.examine_vertex(u, g)</tt></b>r is invoked in each
   vertex as it is removed from the queue.
 

Modified: branches/proto/v3/libs/graph/doc/depth_first_search.html
==============================================================================
--- branches/proto/v3/libs/graph/doc/depth_first_search.html (original)
+++ branches/proto/v3/libs/graph/doc/depth_first_search.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -66,7 +66,7 @@
 actions at certain event-points within the algorithm. This provides a
 mechanism for adapting the generic DFS algorithm to the many
 situations in which it can be used. In the pseudo-code below, the
-event points for DFS are indicated in by the triangles and labels on
+event points for DFS are the labels on
 the right. The user-defined actions must be provided in the form of a
 visitor object, that is, an object whose type meets the requirements
 for a DFS Visitor. In the pseudo-code

Modified: branches/proto/v3/libs/graph/doc/read_graphml.html
==============================================================================
--- branches/proto/v3/libs/graph/doc/read_graphml.html (original)
+++ branches/proto/v3/libs/graph/doc/read_graphml.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -113,7 +113,7 @@
 <h1><a class="toc-backref" href="#id4" name="building-the-graphml-reader">Building the graphml reader</a></h1>
 <p>To use the graphml reader, you will need to build and link against
 the &quot;bgl-graphml&quot; library. The library can be built by following the
-<a class="reference" href="../../../more/getting_started.html#Build_Install">Boost Jam Build Instructions</a> for the subdirectory <tt class="literal"><span class="pre">libs/graph/build</span></tt>.</p>
+<a class="reference" href="../../../doc/html/bbv2/installation.html">Boost Jam Build Instructions</a> for the subdirectory <tt class="literal"><span class="pre">libs/graph/build</span></tt>.</p>
 </div>
 <div class="section" id="notes">
 <h1><a class="toc-backref" href="#id5" name="notes">Notes</a></h1>

Modified: branches/proto/v3/libs/graph/doc/read_graphviz.html
==============================================================================
--- branches/proto/v3/libs/graph/doc/read_graphviz.html (original)
+++ branches/proto/v3/libs/graph/doc/read_graphviz.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -177,7 +177,7 @@
 <h1><a class="toc-backref" href="#id5" name="building-the-graphviz-readers">Building the GraphViz Readers</a></h1>
 <p>To use the GraphViz readers, you will need to build and link against
 the &quot;boost_graph&quot; library. The library can be built by following the
-<a class="reference" href="../../../more/getting_started.html#Build_Install">Boost Jam Build Instructions</a> for the subdirectory <tt class="docutils literal"><span class="pre">libs/graph/build</span></tt>.</p>
+<a class="reference" href="../../../doc/html/bbv2/installation.html">Boost Jam Build Instructions</a> for the subdirectory <tt class="docutils literal"><span class="pre">libs/graph/build</span></tt>.</p>
 </div>
 <div class="section" id="deprecated-readers">
 <h1><a class="toc-backref" href="#id6" name="deprecated-readers">Deprecated Readers</a></h1>

Modified: branches/proto/v3/libs/graph/doc/sloan_ordering.htm
==============================================================================
--- branches/proto/v3/libs/graph/doc/sloan_ordering.htm (original)
+++ branches/proto/v3/libs/graph/doc/sloan_ordering.htm 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -203,7 +203,7 @@
 See <A
 href="../example/sloan_ordering.cpp"><TT>example/sloan_ordering.cpp</TT></A>.
 <H3>See Also</H3>
-<p><http://www.boost.org/libs/graph/doc/sloan_start_end_vertices.htm>sloan_start_end_vertices</http:>,
+<p>sloan_start_end_vertices,
   <A
 href="./bandwidth.html">bandwidth</a>, profile, wavefront
   and <TT>degree_property_map</TT> in <TT>boost/graph/properties.hpp</TT>. </p>

Modified: branches/proto/v3/libs/graph/doc/table_of_contents.html
==============================================================================
--- branches/proto/v3/libs/graph/doc/table_of_contents.html (original)
+++ branches/proto/v3/libs/graph/doc/table_of_contents.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -241,7 +241,7 @@
          <li>Graph Input/Output
            <ol>
              <li>AT&amp;T Graphviz: read_graphviz, write_graphviz</li>
- <li>DIMACS Max-flow: read_dimacs_max_flow, write_dimacs</li>
+ <li>DIMACS Max-flow: read_dimacs_max_flow, write_dimacs_max_flow</li>
              <li>GraphML: read_graphml and write_graphml</li>
            </ol></li>
 

Modified: branches/proto/v3/libs/graph/doc/write_dimacs.html
==============================================================================
--- branches/proto/v3/libs/graph/doc/write_dimacs.html (original)
+++ branches/proto/v3/libs/graph/doc/write_dimacs.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -42,7 +42,7 @@
 <BR Clear>
 
 <H1><A NAME="sec:write_dimacs_max_flow">
-<TT>write_dimacs</TT>
+<TT>write_dimacs_max_flow</TT>
 </H1>
 
 

Modified: branches/proto/v3/libs/libraries.htm
==============================================================================
--- branches/proto/v3/libs/libraries.htm (original)
+++ branches/proto/v3/libs/libraries.htm 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -379,13 +379,13 @@
     <li>minmax - standard library
         extensions for simultaneous min/max and min/max element computations,
         from Herv&eacute; Br&ouml;nnimann.</li>
+ <li>range - A new infrastructure
+ for generic algorithms that builds on top
+ of the new iterator concepts, from Thorsten Ottosen.</li>
     <li>string_algo -
         String algorithms library, from Pavol Droba</li>
     <li>utility - Class <b>next(),</b>&nbsp; <b>prior()</b>
       function templates, from Dave Abrahams and others. </li>
- <li>range - A new infrastructure
- for generic algorithms that builds on top
- of the new iterator concepts, from Thorsten Ottosen.</li>
 </ul>
 
 <h3><a name="Function-objects">Function objects</a> and higher-order programming</h3>
@@ -425,6 +425,8 @@
     <li>enable_if -
         Selective inclusion of function template overloads, from Jaakko
         J&auml;rvi, Jeremiah Willcock, and Andrew Lumsdaine.</li>
+ <li>function_types - Type traits
+ for callable, built-in types, from Tobias Schwinger</li>
     <li>gil - Generic Image Library, from
         Lubomir Bourdev and Hailin Jin.</li>
     <li>in_place_factory, typed_in_place_factory- Generic in-place construction
@@ -442,13 +444,16 @@
     <li>type_traits -
         Templates for fundamental properties of types, from John
         Maddock, Steve Cleary, et al.</li>
- <li>function_types - Type traits
- for callable, built-in types, from Tobias Schwinger</li>
 </ul>
 
 <h3>Template <a name="Metaprogramming"> Metaprogramming</a></h3>
 
 <ul>
+ <li>function_types - Type traits
+ for callable, built-in types, from Tobias Schwinger</li>
+ <li>fusion -
+ Library for working with tuples, including various containers,
+ algorithms, etc. </li>
     <li>mpl - Template metaprogramming
     framework of compile-time algorithms, sequences and metafunction classes,
     from Aleksey Gurtovoy.</li>
@@ -458,11 +463,7 @@
     <li>type_traits -
         Templates for fundamental properties of types, from John
         Maddock, Steve Cleary, et al.</li>
- <li>function_types - Type traits
- for callable, built-in types, from Tobias Schwinger</li>
- <li>fusion -
- Library for working with tuples, including various containers, algorithms, etc.
- From Joel de Guzman, Dan Marsden and Tobias Schwinger.</li>
+ <li>From Joel de Guzman, Dan Marsden and Tobias Schwinger.</li>
 </ul>
 
 <h3><a name="Preprocessor">Preprocessor</a> Metaprogramming</h3>
@@ -491,15 +492,14 @@
 <ul>
     <li>accumulators - Framework for incremental
         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,
- from Fernando Cacciola.</li>
+ <li>Cacciola.</li>
     <li>integer - Headers to ease
         dealing with integral types.</li>
     <li>interval - Extends the
     usual arithmetic functions to mathematical intervals, from Guillaume
     Melquiond, Herv? Br?nnimann and Sylvain Pion.</li>
+ <li>math - Several contributions in the
+ domain of mathematics, from various authors.</li>
     <li>math/complex number algorithms -
     These complex number algorithms are the inverses of trigonometric functions currently present in the C++ standard, from John Maddock.</li>
     <li>math/common_factor - Greatest
@@ -514,6 +514,8 @@
         A wide selection of univariate statistical distributions and functions that operate on them from John Maddock and Paul Bristow</li>
     <li>multi_array - Multidimensional
     containers and adaptors for arrays of contiguous data, from Ron Garcia.</li>
+ <li>numeric/conversion - Optimized Policy-based Numeric Conversions,
+ from Fernando </li>
     <li>operators - Templates
         ease arithmetic classes and iterators, from Dave Abrahams
         and Jeremy Siek.</li>
@@ -548,18 +550,18 @@
     <li>compressed_pair
         - Empty member optimization, from John Maddock, Howard
         Hinnant, et al.</li>
+ <li>fusion -
+ Library for working with tuples, including various containers, algorithms, etc.
+ From Joel de Guzman and Dan Marsden and Tobias Schwinger.</li>
     <li>multi_index - Containers with
     multiple STL-compatible access interfaces, from Joaqu&iacute;n M L&oacute;pez
     Mu&ntilde;oz.</li>
     <li>pointer container
     - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen. </li>
     <li>tuple - Ease definition of functions returning multiple values, and more,
- from Jaakko J?rvi.</li>
+ from Jaakko Järvi.</li>
     <li>variant - Safe, generic, stack-based
     discriminated union container, from Eric Friedman and Itay Maman.</li>
- <li>fusion -
- Library for working with tuples, including various containers, algorithms, etc.
- From Joel de Guzman and Dan Marsden and Tobias Schwinger.</li>
 </ul>
 
 <h3><a name="Image-processing">Image processing</a></h3>
@@ -573,6 +575,11 @@
     <li>asio - Portable networking, including
         sockets, timers, hostname resolution and socket iostreams, from
         Chris Kohlhoff.</li>
+ <li>assign - Filling containers
+ with constant or generated data has never been
+ easier, from Thorsten Ottosen.
+ </li>
+
   <li>format - Type-safe 'printf-like' format
   operations, from Samuel Krempp.</li>
   <li>io state savers - Save I/O state to
@@ -582,10 +589,6 @@
   data given on command line, in config files and other sources, from Vladimir Prus.</li>
   <li>serialization - Serialization
 of arbitrary data for persistence and marshalling, from Robert Ramey</li>
- <li>assign - Filling containers
- with constant or generated data has never been
- easier, from Thorsten Ottosen.
- </li>
 
 </ul>
 
@@ -642,14 +645,14 @@
         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,
- from Fernando Cacciola.</li>
     <li>crc - Cyclic Redundancy Code, from Daryle
       Walker.</li>
     <li>date_time - Date-Time library from Jeff Garland.</li>
     <li>filesystem - Portable paths,
     iteration over directories, and other useful filesystem operations, from
     Beman Dawes.</li>
+ <li>numeric/conversion - Optimized Policy-based Numeric Conversions,
+ from Fernando Cacciola.</li>
     <li>optional - Discriminated-union
     wrapper for optional values, from Fernando Cacciola.</li>
     <li>program_options - Access to configuration
@@ -704,7 +707,7 @@
 
 <p>Revised
 <!--webbot bot="Timestamp" s-type="EDITED"
-s-format="%d %b %Y" startspan -->13 Mar 2008<!--webbot bot="Timestamp" endspan i-checksum="14911" --></p>
+s-format="%d %b %Y" startspan -->19 Mar 2008<!--webbot bot="Timestamp" endspan i-checksum="14923" --></p>
 
 <p>&copy; Copyright Beman Dawes 2000-2004</p>
 <p>Distributed under the Boost Software License, Version 1.0.

Modified: branches/proto/v3/libs/mpi/doc/mpi.qbk
==============================================================================
--- branches/proto/v3/libs/mpi/doc/mpi.qbk (original)
+++ branches/proto/v3/libs/mpi/doc/mpi.qbk 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -2040,7 +2040,8 @@
 Boost.MPI was developed with support from Zurcher Kantonalbank. Daniel
 Egloff and Michael Gauckler contributed many ideas to Boost.MPI's
 design, particularly in the design of its abstractions for
-MPI data types. Prabhanjan (Anju) Kambadur developed the predecessor to
+MPI data types and the novel skeleton/context mechanism for large data
+structures. Prabhanjan (Anju) Kambadur developed the predecessor to
 Boost.MPI that proved the usefulness of the Serialization library in
 an MPI setting and the performance benefits of specialization in a C++
 abstraction layer for MPI. Jeremy Siek managed the formal review of Boost.MPI.

Modified: branches/proto/v3/libs/serialization/build/Jamfile.v2
==============================================================================
--- branches/proto/v3/libs/serialization/build/Jamfile.v2 (original)
+++ branches/proto/v3/libs/serialization/build/Jamfile.v2 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -8,28 +8,25 @@
 
 project boost/serialization
     : source-location ../src
- ;
+ : requirements <dependency>../../config/test//BOOST_NO_STD_LOCALE
+;
 
+SPIRIT_ROOT = [ modules.peek : SPIRIT_ROOT ] ;
 rule include-spirit ( properties * )
 {
     local result ;
- local SPIRIT_ROOT = [ modules.peek : SPIRIT_ROOT ] ;
- for local tset in borland { # vc iw
- if ( <toolset>$(tset) in $(properties) ) {
- if ( $(SPIRIT_ROOT) ) {
- result = <cxxflags>-I$(SPIRIT_ROOT) ;
- }
- else {
- echo **** spirit 1.6x required to build library with this compiler **** ;
- result = <build>no ;
-
- }
- }
+ if ( $(SPIRIT_ROOT) ) {
+ # note - we can't use <include>$(SPIRIT_ROOT) because
+ # it puts -I$(SPIRIT_ROOT) AFTER the "../../.." in the command line.
+ # so use these instead
+ result = <cxxflags>-I$(SPIRIT_ROOT) ;
+ }
+ else {
+ echo **** spirit 1.6x required to build library with this compiler **** ;
+ result = <build>no ;
     }
- return $(result) ;
 }
 
-
 SOURCES =
     basic_archive
     basic_iarchive
@@ -44,10 +41,9 @@
     basic_xml_archive
     binary_iarchive
     binary_oarchive
- codecvt_null
     extended_type_info
- extended_type_info_no_rtti
     extended_type_info_typeid
+ extended_type_info_no_rtti
     polymorphic_iarchive
     polymorphic_oarchive
     stl_port
@@ -62,28 +58,35 @@
 WSOURCES =
     basic_text_wiprimitive
     basic_text_woprimitive
- binary_wiarchive
- binary_woarchive
     text_wiarchive
     text_woarchive
     utf8_codecvt_facet
     xml_wgrammar
     xml_wiarchive
     xml_woarchive
+ codecvt_null
 ;
 
+
 lib boost_serialization
- : $(SOURCES).cpp
- : <toolset>msvc:<cxxflags>/Gy
- <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
- <conditional>@include-spirit
- ;
+ : $(SOURCES).cpp
+ :
+ <toolset>msvc:<cxxflags>/Gy
+ <toolset>msvc-6.5:<conditional>@include-spirit
+ <toolset>msvc-7.0:<conditional>@include-spirit
+ <toolset>borland:<conditional>@include-spirit
+ <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
+ ;
 
 lib boost_wserialization
- : $(WSOURCES).cpp boost_serialization
- : <toolset>msvc:<cxxflags>/Gy
- <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
- <conditional>@include-spirit
- ;
+ : $(WSOURCES).cpp boost_serialization
+ :
+ <toolset>msvc:<cxxflags>/Gy
+ <toolset>msvc-6.5:<conditional>@include-spirit
+ <toolset>msvc-7.0:<conditional>@include-spirit
+ <toolset>borland:<conditional>@include-spirit
+ <dependency>../../config/test//BOOST_NO_STD_WSTREAMBUF
+ <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
+ ;
 
-boost-install boost_serialization boost_wserialization ;
\ No newline at end of file
+boost-install boost_serialization boost_wserialization ;

Deleted: branches/proto/v3/libs/serialization/build/serialization.jam
==============================================================================
--- branches/proto/v3/libs/serialization/build/serialization.jam 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,126 +0,0 @@
-# Boost serialization Library Build Jamfile
-# (C) Copyright Robert Ramey 2002-2004.
-# Use, modification, and distribution are subject to the
-# Boost Software License, Version 1.0. (See accompanying file
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# See http://www.boost.org/libs/serialization for the library home page.
-
-# building this library needs a working version of spirit
-rule toolset::require-boost-spirit-support ( toolset variant : subvariant-path properties * )
-{
- local requires-spirit = false ;
- switch $(toolset) {
- case "borland*" :
- requires-spirit = true ;
- case "msvc*" :
- requires-spirit = true ;
- case "iw*" :
- requires-spirit = true ;
- case "vc-6*" :
- requires-spirit = true ;
- case "vc7*" :
- requires-spirit = true ;
- case "vc-7_0*" :
- requires-spirit = true ;
- case "gcc-2*" :
- requires-spirit = true ;
- }
- if $(requires-spirit) = true {
- if $(SPIRIT_ROOT) # && ( exist $(SPIRIT_ROOT) )
- {
- properties += <include>$(SPIRIT_ROOT) ;
- }
- else {
- echo **** spirit 1.6x required to build library with this compiler **** ;
- properties = [ impose-requirements $(properties) : <build>no ] ;
- }
- }
- return $(subvariant-path) $(properties) ;
-}
-
-# certain tool sets are known apriori not to support wide char i/o
-rule toolset::require-wide-char-io-support ( toolset variant : subvariant-path properties * )
-{
- switch $(toolset) {
- case "*cygwin" :
- echo **** wide char i/o not supported by cygwin gcc library **** ;
- properties = [ impose-requirements $(properties) : <build>no ] ;
-
- case "como*" :
- echo **** wide char i/o not supported by libcomo standard library **** ;
- properties = [ impose-requirements $(properties) : <build>no ] ;
- case "mingw*" :
- if ! [ MATCH "^([5][.][0])$" : [ get-values <stlport-version> : $(properties) ] ]
- {
- echo **** wide char i/o not supported by the mingw standard library **** ;
- properties = [ impose-requirements $(properties) : <build>no ] ;
- }
- }
- return $(subvariant-path) $(properties) ;
-}
-
-# certain tool sets are known apriori not to support creation of DLLS
-rule toolset::require-shared-libraries-support ( toolset variant : subvariant-path properties * )
-{
- switch $(toolset) {
- case "como*" :
- echo **** DLLs cannot be built with this compiler **** ;
- properties = [ impose-requirements $(properties) : <build>no ] ;
- case "msvc-stlport*" :
- echo **** DLLs cannot be built with this compiler and stlport 4.x **** ;
- properties = [ impose-requirements $(properties) : <build>no ] ;
- case "vc-6_5-stlport*" :
- echo **** DLLs cannot be built with this compiler and stlport 4.x **** ;
- properties = [ impose-requirements $(properties) : <build>no ] ;
- case "cw*" :
- local runtime-link = [ get-values <runtime-link> : $(properties) ] ;
- if static in $(runtime-link) {
- echo **** DLLS cannot be built with static runtime linking **** ;
- properties = [ impose-requirements $(properties) : <build>no ] ;
- }
-
- }
- return $(subvariant-path) $(properties) ;
-}
-
-# certain tool sets display warnings which are not applicable to the serialization library
-rule toolset::suppress-warnings ( toolset variant : subvariant-path properties * )
-{
- switch $(toolset) {
- case "vc-8*" :
- properties = [ impose-requirements $(properties) : <cxxflags>"-wd4996" ] ;
- case "*cygwin*" :
- properties = [ impose-requirements $(properties) : <cxxflags>"-Wno-non-virtual-dtor -Wno-ctor-dtor-privacy" ] ;
- case "gcc*" :
- properties = [ impose-requirements $(properties) : <cxxflags>"-Wno-non-virtual-dtor -Wno-ctor-dtor-privacy" ] ;
- case "mingw*" :
- properties = [ impose-requirements $(properties) : <cxxflags>"-Wno-non-virtual-dtor -Wno-ctor-dtor-privacy" ] ;
- case "borland*" :
- properties = [ impose-requirements $(properties) : <cxxflags>"-w-8080 -w-8071 -w-8057 -w-8062 -w-8008 -w-0018 -w-8066" ] ;
- }
- return $(subvariant-path) $(properties) ;
-}
-
-# set optimization switches for certain toolsets. We do it here rather than in the
-# Jamfile requirements because here we can use a regex for the compiler name.
-rule toolset::optimizations ( toolset variant : subvariant-path properties * )
-{
- switch $(toolset) {
- case "vc*" :
- properties = [ impose-requirements $(properties) : <cxxflags>"-Gy" ] ;
- case "msvc*" :
- properties = [ impose-requirements $(properties) : <cxxflags>"-Gy" ] ;
- case "gcc*" :
- properties = [ impose-requirements $(properties) : <cxxflags>"-ftemplate-depth-255" ] ;
- case "qcc*" :
- properties = [ impose-requirements $(properties) : <cxxflags>"-ftemplate-depth-255" ] ;
- case "QCC*" :
- properties = [ impose-requirements $(properties) : <cxxflags>"-ftemplate-depth-255" ] ;
- case "mingw*" :
- properties = [ impose-requirements $(properties) : <cxxflags>"-ftemplate-depth-255" ] ;
- }
- return $(subvariant-path) $(properties) ;
-}
-
-

Modified: branches/proto/v3/libs/serialization/doc/acknowledgments.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/acknowledgments.html (original)
+++ branches/proto/v3/libs/serialization/doc/acknowledgments.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -30,7 +30,7 @@
   <li>David Abrahams improved implementation of "export" functionality. This not
   only eliminated an annoying header sequencing requirement, but also the need to maintain
   a list of "known archives".
- <li>Mattias Troyer ehnanced the implementation of native binary archives. This includes
+ <li>Mattias Troyer enhanced the implementation of native binary archives. This includes
   enhancement and generalization of the library itself including generalization of
   the wrapper concept.
   <li>Markus Sch&ouml;pflin tracked down issues with TRU64 compiler resulting in 100% passing.

Modified: branches/proto/v3/libs/serialization/doc/archive_reference.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/archive_reference.html (original)
+++ branches/proto/v3/libs/serialization/doc/archive_reference.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -34,30 +34,41 @@
 <h3><a name="implementation">Implementation</a></h3>
 The Archive concept specifies the functions that a
 class must implement to in order to be used to serialize
-Serializable types.
+Serializable types.
+
+
 The library implements a family of archives appropriate for different purposes.
-This section describes how they have been implemented and how one can implement his own archive class.
+This section describes how they have been implemented and one way one
+can implement his own archive class.
+
 Our discussion will focus on archives used for loading as the hierarchy is exactly analogous
 for archives used for saving data.
+
+
 <p>
 Our archives have been factored in to a tree of classes in order to minimize
 repetition of code. This is shown in the accompanying
 <a target="class_diagram" href="class_diagram.html">class diagram</a>.
-All input archives should be derived from the following template:
+
+Any class which fullfills the following requirements will function as
+a loading archive.
+
+
+<h4>Minimum Requirments</h4>
+The archive class is derived from:
 <pre><code>
 template&lt;class Archive&gt;
 detail::common_iarchive;
 </code></pre>
-<h4>Minimum Requirments</h4>
 An instance of the this template handles all the "bookkeeping" associated
 with serialization. In order to be a functional only the following additional
-functions <strong>must</strong> be defined:
+functions <strong>must</strong> be declared:
 <dl>
 <dt><h4><code>void load(T &t);</code></h4></dt>
 <dd>
 This function must be implemented for all primitive data types. This can be
 accomplished through the use of a member template or explict declarations
-for all prmititive types.
+for all primitive types.
 </dd>
 
 <dt><h4><code>void load_binary(void *address, std::size_t size);</code></h4></dt>
@@ -81,13 +92,12 @@
 <a href="../../../boost/archive/detail/common_iarchive.hpp" target="common_iarchive_hpp">
 #include &lt;boost/archive/detail/common_iarchive.hpp&gt;
 </a>
-
 /////////////////////////////////////////////////////////////////////////
 // class trivial_iarchive - read serialized objects from a input text stream
 class trivial_iarchive :
     public boost::archive::detail::common_iarchive&lt;trivial_iarchive&gt;
 {
- // permit serialization system priviledged access to permit
+ // permit serialization system privileged access to permit
     // implementation of inline templates for maximum speed.
     friend class boost::archive::load_access;
 
@@ -226,7 +236,9 @@
     all data objects.
     <li>Addressing any of the above may generate more issues to be addressed.
     <li>The archives included with library are all templates which use a
- <code style="white-space: normal">stream</code> as a template parameter rather than simple classes.
+ <code style="white-space: normal">stream</code> or
+ <code style="white-space: normal">streambuf</code>
+ as a template parameter rather than simple classes.
     Combined with the above, even more issues arise with non-conforming compilers.
 </ul>
 The attached <a target="class_diagram" href="class_diagram.html">class diagram</a>
@@ -241,17 +253,15 @@
 <ul>
     <li>Instances of a derived class are serialized through a base class pointer.
     <li>Such instances are not "registered" neither implicitly nor explicitly. That
- is, the macro <code style="white-space: normal">BOOT_CLASS_EXPORT</code> is used to instantiate the serialization
- code for the included archives.
+ is, the macro <code style="white-space: normal">BOOT_CLASS_EXPORT</code> is used
+ to instantiate the serialization code for the included archives.
 </ul>
-The problem here is that BOOT_CLASS_EXPORT only generates code for those archives
-included with the library - not those added subsequently. To generate code for
-newly created archive classes, the following should be used.
+
+To make this work, the following should be included after the archive
+class definition.
 <pre><code>
-#define BOOST_ARCHIVE_CUSTOM_OARCHIVE_TYPES trivial_oarchive
-#define BOOST_ARCHIVE_CUSTOM_IARCHIVE_TYPES trivial_iarchive
+#define BOOST_SERIALIZATION_REGISTER_ARCHIVE(Archive)
 </code></pre>
-before <code style="white-space: normal">BOOST_CLASS_EXPORT</code> is invoked for any serializable class.
 Failure to do this will not inhibit the program from compiling, linking
 and executing properly - except in one case. If an instance of a derived
 class is serialized through a pointer to its base class, the program
@@ -259,8 +269,7 @@
 <a href="exceptions.html#unregistered_class"><code style="white-space: normal">unregistered_class</code></a>
 exception.
 <p>
-Only one of the above statements is permitted, However, any number of new archive
-classes can be specified as list separated by commas.
+
 
 <h4><a name="testing">Testing</h4>
 Exhaustive testing of the library requires testing the different aspects of object
@@ -302,16 +311,16 @@
 #define TEST_STREAM_FLAGS (std::ios_base::openmode)0
 </code></pre>
 
-To test a new archive, for example, portable binary archives, make a
-header file <code style="white-space: normal">portable_binary_archive.hpp</code>
+To test a new archive, for example, portable binary archives, with the gcc compiler,
+make a header file <code style="white-space: normal">portable_binary_archive.hpp</code>
 and invoke <code style="white-space: normal">bjam</code> with
 <pre><code>
 -sBOOST_ARCHIVE_LIST=portable_binary_archive.hpp
 </code></pre>
-This process in encapsulated in the shell script
-<code style="white-space: normal">run_archive_test</code> whose command line is
+This process in encapsulated in the shell or cmd script
+<code style="white-space: normal">library_test</code> whose command line is
 <pre><code>
-run_archive_test &lt;test header file&gt; &lt;toolset&gt; [&lt;boost root&gt;] [&lt;target directory&gt;]
+library_test --toolset=gcc -sBOOST_ARCHIVE_LIST=portable_binary_archive.hpp
 </code></pre>
 <h3><a name="polymorphic">Polymorphic Archives</a></h3>
 
@@ -367,9 +376,9 @@
 and the header files, this implementation is just a composition of the polymorphic
 interface and the standard template driven implementation. This composition is
 accomplished by the templates
-<a target=polymorphic_iarchive_dispatch_hpp href="../../../boost/archive/detail/polymorphic_iarchive_dispatch.hpp"><code style="white-space: normal">polymorphic_iarchive_dispatch.hpp</code></a>
+<a target=polymorphic_iarchive_route_hpp href="../../../boost/archive/detail/polymorphic_iarchive_route.hpp"><code style="white-space: normal">polymorphic_iarchive_route.hpp</code></a>
 and
-<a target=polymorphic_oarchive_dispatch_hpp href="../../../boost/archive/detail/polymorphic_oarchive_dispatch.hpp"><code style="white-space: normal">polymorphic_oarchive_dispatch.hpp</code></a>.
+<a target=polymorphic_oarchive_route_hpp href="../../../boost/archive/detail/polymorphic_oarchive_route.hpp"><code style="white-space: normal">polymorphic_oarchive_route.hpp</code></a>.
 As these contain no code specific to the particular implementation archive, they can be used to create
 a polymorphic archive implementation from any functioning templated archive implementation.
 <p>

Modified: branches/proto/v3/libs/serialization/doc/class_diagram.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/class_diagram.html (original)
+++ branches/proto/v3/libs/serialization/doc/class_diagram.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -52,14 +52,14 @@
       | / |
       | / |
       | / |
-<font color="blue">text_iarchive_impl&lt;text_iarchive&gt;</font> -> <font color="red">polymorphic_iarchive</font> ->
+<font color="blue">text_iarchive_impl&lt;text_iarchive&gt;</font> -> polymorphic_iarchive_impl ->
       | \ |
       | \ |
- | \_____________________________________ |
+ | \_____________________________________ <font color="red">polymorphic_iarchive</font> ->
       | \ /
       | \ /
       | \ /
-<font color="red">text_iarchive</font> -> polymorphic_iarchive_dispatch&lt;text_iarchive_impl&lt;text_iarchive&gt; &gt; ->
+<font color="red">text_iarchive</font> -> polymorphic_iarchive_route&lt;text_iarchive_impl&lt;text_iarchive&gt; &gt; ->
                                                        |
                                                        |
                                                        |
@@ -68,7 +68,7 @@
 
 </code></pre>
 This diagram shows the relationship between the various classes that implement loading (input
-serialization) for text files. The hierachy and organization is identical for saving and for
+serialization) for text files. The hierachy and organization is similar for saving and for
 other types of archives as well. In the diagram, classes written in <font color="blue">blue</font>
 implement loading for a given archive type. (in this case its text archives).
 Users include classes in <font color="red">red</font> to load their data from a partcular
@@ -146,11 +146,11 @@
   for all archives present and future.
   
   <p><dt><code>
- polymorphic_iarchive_dispatch<text_iarchive_impl<text_iarchive> >
+ polymorphic_iarchive_route<text_iarchive_impl<text_iarchive> >
   </code></dt>
   <dd><p>
   This class implements the <code style="white-space: normal">polymorphic_iarchive</code> in terms of a specific
- concrete class. Virtual function calls are forwarded to the implementing class. In this example,
+ concrete class. Virtual function calls are routed to the implementing class. In this example,
   that implementing class would be text_iarchive_impl.
   
   <p><dt><code>
@@ -158,7 +158,7 @@
   </code></dt>
   <dd>
   this is just a typedef so we can write polymorphic_text_archive rather than
- <code style="white-space: normal">polymorphic_iarchive_dispatch&lt;text_iarchive_impl&lt;text_iarchive&gt; &gt;</code>
+ <code style="white-space: normal">polymorphic_iarchive_route&lt;text_iarchive_impl&lt;text_iarchive&gt; &gt;</code>
   
 </dl>
 <hr>

Modified: branches/proto/v3/libs/serialization/doc/codecvt.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/codecvt.html (original)
+++ branches/proto/v3/libs/serialization/doc/codecvt.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -28,7 +28,7 @@
 <a name="sec:utf8-codecvt-facet-class"></a>
 
 
-<h1>UTF-8 Codecvt Facet</h1>
+<h1><code>utf8_codecvt_facet</code></h1>
 
 
 <pre>

Modified: branches/proto/v3/libs/serialization/doc/contents.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/contents.html (original)
+++ branches/proto/v3/libs/serialization/doc/contents.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -87,9 +87,10 @@
     <dt><img style="display:none" src="plus.gif" id="release_notes"><a target="detail" href="release.html">Release Notes</a></dt>
     <dd><div id="release_notes_detail"><dl class="page-index">
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#requirements">Requirements</a></dt>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_35">Differences from version 1.35</a></dt>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_34">Differences from version 1.34</a></dt>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_32">Differences from version 1.32</a></dt>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_33">Differences from version 1.33</a></dt>
- <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_34">Differences from version 1.34</a></dt>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#todo">Pending Issues</a></dt>
     </dl></div></dd>
     <dt><img style="display:none" src="plus.gif" id="overview"><a target="detail" href="overview.html">Overview</a></dt>
@@ -148,6 +149,7 @@
           <dt><img style="display:none" src="plus.gif" id="derivedpointers"><a target="detail" href="serialization.html#derivedpointers">Pointers to Objects of Derived Classes</a>
           <dd><div id="derivedpointers_detail"><dl class="page-index">
             <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#registration">Registration</a>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#export">Export</a>
             <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#instantiation">Instantiation</a>
             <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#selectivetracking">Selective Tracking</a>
             <dt><img style="display:none" src="dot.gif"><a target="detail" href="serialization.html#runtimecasting">Runtime Casting</a>
@@ -179,7 +181,6 @@
       <dt><img style="display:none" src="plus.gif" id="special"><a target="detail" href="special.html">Special Considerations</a>
       <dd><div id="special_detail"><dl class="page-index">
         <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#objecttracking">Object Tracking</a>
- <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#export">Exporting Class Serialization</a>
         <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#classinfo">Class Information</a>
         <dt><img style="display:none" src="plus.gif" id="portability"><a target="detail" href="special.html#portability">Archive Portability</a>
         <dd><div id="portability_detail"><dl class="page-index">
@@ -188,7 +189,9 @@
         </dl></div></dd>
         <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#binary_archives">Binary Archives</a>
         <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#xml_archives">XML Archives</a>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#export">Exporting Class Serialization</a>
         <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#dlls">DLLS - Serialization and Runtime Linking</a>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#plugins">Plugins</a>
         <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#multi_threading">Multi-Threading</a>
         <dt><img style="display:none" src="dot.gif"><a target="detail" href="special.html#optimizations">Optimzations</a>
         <dt><img style="display:none" src="plus.gif" id="exceptions"><a target="detail" href="exceptions.html">Archive Exceptions</a>
@@ -262,8 +265,8 @@
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="pimpl.html">PIMPL</a>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="derivation.html">Derivation from an Existing Archive Class</a>
     </dl></div></dd>
- <dt><img style="display:none" src="plus.gif" id="miscellaneous">Miscellaneous
- <dd><div id="miscellaneous_detail"><dl class="page-index">
+ <dt><img style="display:none" src="plus.gif" id="otherclasses">Other Classes
+ <dd><div id="otherclasses_detail"><dl class="page-index">
       <dt><img style="display:none" src="plus.gif" id="extended_type_info"><a target="detail" href="extended_type_info.html"><code>extended_type_info</code></a>
       <dd><div id="extended_type_info_detail"><dl class="page-index">
         <dt><img style="display:none" src="dot.gif"><a target="detail" href="extended_type_info.html#motivation">Motivation</a>
@@ -272,12 +275,21 @@
         <dt><img style="display:none" src="dot.gif"><a target="detail" href="extended_type_info.html#models">Models</a>
       </dl></div></dd>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="void_cast.html"><code>void_cast</code></a>
- <dt><img style="display:none" src="dot.gif"><a target="detail" href="codecvt.html">utf-8 code_cvt</a>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="codecvt.html"><code>utf8_codecvt_facet</code></a>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="strong_typedef.html"><code>BOOST_STRONG_TYPEDEF</code></a>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="state_saver.html"><code>state_saver</code></a>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="dataflow.html">Dataflow Iterators</a>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="smart_cast.html"><code>smart_cast</code></a>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="static_warning.html"><code>BOOST_STATIC_WARNING</code></a>
+ <dt><img style="display:none" src="plus.gif" id="singleton"><a target="detail" href="singleton.html"><code>singleton</code></a>
+ <dd><div id="singleton_detail"><dl class="page-index">
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#motivation">Motivation</a>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#features">Features</a>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#classinterface">Class Interface</a>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#requirements">Requirements</a>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#examples">Examples</a>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#multithreading">Multi-Threading</a>
+ </dl></div></dd>
     </dl></div></dd>
     <!--
     <dt><img style="display:none" src="dot.gif"><a target="detail" href="configuration.html">Configuration Information</a></dt>

Modified: branches/proto/v3/libs/serialization/doc/exceptions.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/exceptions.html (original)
+++ branches/proto/v3/libs/serialization/doc/exceptions.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -43,8 +43,9 @@
 Archive operators can throw a <code style="white-space: normal">boost::archive_exception</code>
 object which can be caught by an application program. These exceptions are defined
 in the files <a target="archive_exception_hpp" href="../../../boost/archive/archive_exception.hpp">
-boost/archive/archive_exception.hpp</a> and <a target="archive_xml_exception_hpp" href="../../../boost/archive/archive_exception.hpp">
-boost/archive/archive_xml_exception.hpp</a>.
+archive_exception.hpp</a>
+and <a target="basic_xml_archive_hpp" href="../../../boost/archive/basic_xml_archive.hpp">
+basic_xml_archive.hpp</a>.
 <pre><code>
 namespace boost {
 namespace archive {

Modified: branches/proto/v3/libs/serialization/doc/extended_type_info.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/extended_type_info.html (original)
+++ branches/proto/v3/libs/serialization/doc/extended_type_info.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -33,7 +33,6 @@
   <dt>Example
 </dl>
 
-
 <h3><a name="motivation">Motivation</a></h3>
 The serialization library needs a system like
 <code style="white-space: normal">type_info/typeid()</code> to perform
@@ -63,108 +62,92 @@
     name spaces is an accepted method used to avoid name space conflicts.
     Thus the namespace::class_name can't be used as a key.
   <li>
- We may want the ability to serialize objects through a base class even though
- they have no <code style="white-space: normal">virtual</code> function. That
- is, objects of classes which are not polymorphic in the strict C++ sense. This
- is not supported by the standard system.
- <li>
     There exists the possibility that different classes use different type id
     mechanism. The class header might include this information. If we want to
     import class headers accross applications, its convenient that the type id
     mechanism support inter-operability accross different type id systems.
 </ul>
 <h3>Features</h3>
-<code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code> is an implementation
+<code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">
+extended_type_info</a></code> is an implementation
 of <code style="white-space: normal">std::type_info</code> functionality with the
 following features:
 <ul>
   <li>
- Maintains a global table of <code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code> records - one for each type known
- to the program.
+ Builds a set of <a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">
+ <code style="white-space: normal">extended_type_info</a></code> records - one for each type
+ serialized.
   <li>
- permits association of an arbitrary key with a type. Often this key would
+ permits association of an arbitrary string key with a type. Often this key would
     be the class name - but it doesn't have to be. This key is referred to as
     a GUID - Globally Unique IDentifier. Presumably it should be unique in the universe.
     Typically this GUID would be in header files and be used to match type accross
- applications.
+ applications. The macro BOOST_CLASS_EXPORT can be invoked to associate a string
+ key with any known type. We'll refer to these types as "exported types"
   <li>
     permits the "mixing" of type info systems. For example, one class might use
     <code style="white-space: normal">typeid()</code> to find the external identifier
     of a class while another might not.
 </ul>
-The serialization system maintains two global tables.
-<ul>
- <li>The first is a global type table. it has an entry for each type used.
- Each entry is an instance of a class derived from
- <code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code>. This table is used
- to retrieve the unique <code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code>
- information for any given type.
- <li>The second is global key table. It has an entry for each type which has been assigned a GUID string key.
- This table is used to retrieve the unique
- <code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code> given its GUID.
-</ul>
-This library includes two different type id systems:
-<ul>
- <li>
- <code style="white-space: normal"><a target="extended_type_info_typeid.hpp" href = "../../../boost/serialization/extended_type_info_typeid.hpp">extended_type_info_typeid</a></code>
- which is implemented in terms of the standard
- <code style="white-space: normal">typeid()</code>.
- <li>
- <code style="white-space: normal"><a target="extended_type_info_no_rtti.hpp" href="../../../boost/serialization/extended_type_info_no_rtti.hpp">extended_type_info_no_rtti</a></code>
- which is implemented in a way that doesn't rely on the existence
- RTTI. However, it does require that all classes for which type id is to be used
- be explictly assigned an external key - which otherwise would be optional.
-</ul>
+
+Exported types are maintained in a global table so that given a string key, the
+corresponding type can be found. This facility is used by the serialization library
+in order to construct types serialized through a base class pointer.
 
 <h3><a name="runtime">Runtime Interface</a></h3>
 <pre><code">
 namespace boost {
 namespace serialization {
 
-class BOOST_SERIALIZATION_DECL extended_type_info :
- private boost::noncopyable
+class extended_type_info
 {
 protected:
- extended_type_info(const char * type_info_key);
+ // this class can't be used as is. It's just the
+ // common functionality for all type_info replacement
+ // systems. Hence, make these protected
+ const char * m_key;
+ extended_type_info(const unsigned int type_info_key);
+ ~extended_type_info();
 public:
- void self_register();
     void key_register(const char *key);
- const char * get_key() const;
-
+ const char * get_key() const {
+ return m_key;
+ }
     bool operator<(const extended_type_info &rhs) const;
     bool operator==(const extended_type_info &rhs) const;
- bool operator!=(const extended_type_info &rhs) const;
-
+ bool operator!=(const extended_type_info &rhs) const {
+ return !(operator==(rhs));
+ }
+ // for plugins
+ virtual void * construct(unsigned int count = 0, ...) const;
+ virtual void destroy(void const * const p) const;
     static const extended_type_info * find(const char *key);
- static const extended_type_info * find(const extended_type_info * t);
 };
 
 } // namespace serialization
 } // namespace boost
 </code></pre>
-
-There must be one and only one <code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code>
-instance created for each type. For this reason, this class is marked is derived from
-<code style="white-space: normal">boost::noncopyable</code>.
-
+<p>
+Generally, there will be one and only one
+<code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code>
+instance created for each type. However, this is enforced only at the executable
+module level. That is, if a program includes some shared libraries or DLLS,
+there may be more than one instance of this class correponding to a particular type.
+For this reason the comparison functions below can't just compare the addresses of
+this instance but rather must be programmed to compare the the actual information
+the instances contain.
 <dl>
 
 <dt><h4><pre><code>
-extended_type_info(const char * type_info_key);</code></pre></h4></dt>
-<dd>
-This constructor should be called by all derived classes. It should be passed
-a pointer to a const string which identifies the type id system being used. This
-type id is used to distinguish among the various type id system that might be used
-and allow them to interoperate.
-</dd>
-
-<dt><h4><pre><code>
-void self_register();
+extended_type_info(unsigned int type_info_key);
 </code></pre></h4></dt>
 <dd>
-This function adds entry for an entry to the global type table. It would usually be
-called from the constructor of the derived class which implements the
-<code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code> functionality.
+This constructor should be called by all derived classes.
+The argument should be the particular implementation. For
+this default implementation base on typeid(), this is the
+value 1. Each system must have its own integer. This value
+is used to permit the inter-operability of different typeinfo
+systems.
 </dd>
 
 <dt><h4><pre><code>
@@ -180,6 +163,8 @@
 refer to the same type.
 <p>
 It may sometimes be referred to as a GUID - a <b>G</b>lobal <b>U</b>nique <b>ID</b>entifier.
+</dd>
+
 <dt><h4><pre><code>
 const char *get_key() const;
 </code></pre></h4></dt>
@@ -189,58 +174,93 @@
 </dd>
 
 <dt><h4><pre><code>
-bool operator&lt;(const extended_type_info &rhs) const;
-bool operator==(const extended_type_info &rhs) const;
-bool operator!=(const extended_type_info &rhs) const;
+bool operator<(const extended_type_info & rhs) const;
+bool operator==(const extended_type_info & rhs) const;
+bool operator!=(const extended_type_info & rhs) const;
 </code></pre></h4></dt>
 <dd>
-These functions are used to compare two <code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code> objects.
-Among other things, these are used for lookup in the tables.
+These functions are used to compare two
+<a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">
+<code style="white-space: normal">
+extended_type_info
+</code>
+</a>
+objects. They a strict total ordering on all instances of this class.
+</dd>
 
 <dt><h4><pre><code>
-static const extended_type_info * find(const char *key);
+virtual void * construct(unsigned int count = 0, ...) const;
 </code></pre></h4></dt>
 <dd>
-Given a character string key or <strong>GUID</strong>, return the address of the
-unique corresponding <code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code>
-object.
+Construct a new instance of the type to which this
+<a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">
+<code style="white-space: normal">
+extended_type_info
+</code>
+</a>
+record corresponds. This function takes variable list of up to 4 arguments
+of any type. These arguments are passed to the type's constructor
+at runtime. In order to use the facility,
+one must declare a type sequence for the constructor arguments.
+Arguments for this function must match in number and type
+with those specified when the type was exported.
+This function permits one to create instances of
+any exported type given only the exported <strong>GUID</strong> assigned
+with BOOST_CLASS_EXPORT.
+If these types are defined in DLLS or shared libraries. When these modules
+are loaded at runtime, these constructor can be called until the module
+is unloaded. These modules are referred to as <b>plugin</b>.
+</code>
+</dd>
 
 <dt><h4><pre><code>
-static const extended_type_info * find(const extended_type_info * t);
+virtual void destroy(void const * const p) const;
 </code></pre></h4></dt>
 <dd>
-Given a pointer to an
-<code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code>,
-return the address of the instance of the same type in the main table.
-That is the argument t is used as a search argment to find the main
-table entry for a given type. It would be used like this:
-<code><pre>
-// return the global type entry for our type T
-return find(some_extended_type_info_implementation&lt;T&gt;())
-</pre></code>
+Destroy an instance created by the above constructor.
+</dd>
+
+<dt><h4><pre><code>
+static const extended_type_info * find(const char *key);
+</code></pre></h4></dt>
+<dd>
+Given a character string key or <strong>GUID</strong>, return the address of a
+corresponding <code style="white-space: normal"><a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">extended_type_info</a></code>
+object.
 
 </dl>
 
 <h3><a name="requirements">Requirements</a></h3>
 In order to be used by the serialization library, an implementation of
 <code style="white-space: normal">extended_type_info</code>,
-(referred to as ETI here), must implement the following:
+(referred to as ETI here), must be derived from
+<a target="extended_type_info.hpp" href = "../../../boost/serialization/extended_type_info.hpp">
+<code style="white-space: normal">
+extended_type_info
+</code>
+</a>
+and also implement the following:
 
 <dl>
 
 <dt><h4><code style="white-space: normal"><pre>
 template&lt;class ETI&gt;
-virtual bool
-ETI::less_than(const extended_type_info &rhs) const;
+static extended_type_info &
+ETI::get_mutable_instance();
+static const extended_type_info &
+ETI::get_const:instance();
 </pre></code></h4></dt>
 <dd>
-Impose a strict total ordering on all instances of the class ETI.
+Return a pointer to the instance of
+<code style="white-space: normal">extended_type_info</code>
+which corresponds to type T. Normally these instances are static objects so
+this just amounts to returning the address of this static object.
 </dd>
 
 <dt><h4><code style="white-space: normal"><pre>
 template&lt;class ETI&gt;
-static const extended_type_info *
-ETI::get_derived_extended_type_info(const T & t);
+const extended_type_info *
+ETI::get_derived_extended_type_info(const T & t) const;
 </pre></code></h4></dt>
 <dd>
 Return a pointer to the
@@ -250,45 +270,16 @@
 hierarchy of classes. The type T can always be cast to the "true type" with
 a static cast. Implemention of this function will vary among type id systems
 and sometimes will make presumptions about the type T than can be identified
-with a particular <code style="white-space: normal">extended_type_info implementation</code>.
+with a particular <code style="white-space: normal">extended_type_info</code> implementation.
 </dd>
 
 <dt><h4><code style="white-space: normal"><pre>
-template&lt;class ETI&gt;
-static extended_type_info *
-ETI::get_instance();
+bool ETI::less_than(const extended_type_info &rhs) const;
 </pre></code></h4></dt>
 <dd>
-Return a pointer to the instance of
-<code style="white-space: normal">extended_type_info</code>
-which corresponds to type T. Normally these instances are static objects so
-this just amounts to returning the address of this static object.
+Compare this instance to another one using the same
+<code style="white-space: normal">extended_type_info</code> implementation.
 </dd>
-
-<dt><h4><code style="white-space: normal"><pre>
-static void
-template&lt;class ETI&gt;
-ETI::export_register(const char * key);
-</pre></code></h4></dt>
-<dd>
-The main function is to invoke key_register to add the GUID to the
-global table. Depending on the type id system being used, it might
-perform other initializaition functions as well.
-</dd>
-</dl>
-
-It must define the following
-<a href="../../mpl/doc/refmanual/integral-constant.html">
-Itegral Constant</a>
-of type
-bool:
-<dl>
-<dt><h4><code style="white-space: normal"><pre>
-ETI::is_polymorphic
-</pre></code></h4></dt>
-<dd>
-</dd>
-
 </dl>
 
 <h3><a name="models">Models</a></h3>
@@ -302,9 +293,11 @@
 <p>
 <code style="white-space: normal"><h4><a target="extended_type_info_no_rtti.hpp" href="../../../boost/serialization/extended_type_info_no_rtti.hpp">
 extended_type_info_no_rtti</a></h4></code>
-is implemented in a way that doesn't rely on the existence RTTI.
-However, it does require that all classes for which type id is to be used implement
-a virtual function of the signiture:
+is implemented in a way that doesn't rely on the existence RTTI.
+However, if the export facility is to be used to serialize types
+through base class pointers, those types are required to implement
+a virtual function with the signature:
+
 <code><pre>
 virtual const char * get_key();
 </pre></code>
@@ -316,7 +309,9 @@
 The test program <code style="white-space: normal"><a target="test_no_rtti" href="../test/test_no_rtti.cpp">test_no_rtti</a></code>
 implements this function in terms of the <code style="white-space: normal"><a target="extended_type_info_no_rtti.hpp" href="../../../boost/serialization/extended_type_info_no_rtti.hpp">
 extended_type_info</a></code> API above to return the export key associated with the class.
-This requires that non-abstract types be exported.
+This requires that non-abstract types be exported. It also demostrates the
+inter-operability with between two different implementations of
+<code style="white-space: normal">extended_type_info</code>.
 
 <hr>
 <p><i>&copy; Copyright Robert Ramey 2005.

Modified: branches/proto/v3/libs/serialization/doc/implementation.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/implementation.html (original)
+++ branches/proto/v3/libs/serialization/doc/implementation.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -207,10 +207,10 @@
     is added with STLPort, all tests complete successfully.
     <li>This compiler generates long warning messages related to the usage of
     non virtual destructors in polymorphic classes. These warnings have been
- carfully considered and the code that generates these warning has been
+ carefully considered and the code that generates these warning has been
     unchanged. In this case the warning should should be ignored as in certain
     usages of the library, making the destructors virtual could lead to problems.
- As an alternative, base class destructors have been make "protected" to
+ As an alternative, base class destructors have been made "protected" to
     address the concerns that motivate these warning messages. When building
     the serialization library and tests with bjam, these warnings are suppressed.
     When building one's own applications, these warnings can be suppressed by
@@ -223,7 +223,8 @@
 <h4><a name="gcc295">GCC 2.95</a></h4>
 All of the above plus:<br>
 <ul>
- <li>The serialization library depends on the templeted stream implemention
+ <li>The serialization library depends on the templated stream
+ implementation to function properly.
     to function properly. So STLPort must be used to build the library.
     <li>Polymorphic archive tests fail.
     <li>XML serialization only works with version 1.6x of spirit. In order to build
@@ -245,7 +246,7 @@
 
 <h4><a name="vc71">Visual C++ 7.1</a></h4>
 Derivation from an archive class defined in a DLL as described in ... will not work.
-This is due to the way that VC++ handles templeted code with __decl(dllexport) and
+This is due to the way that VC++ handles templated code with __decl(dllexport) and
 __decl(dllimport) specifications. Basically, this compiler requires that all the
 instantiations have the same specification - even though they have different
 template arguments. The example <code style="white-space: normal">
@@ -255,15 +256,14 @@
 This compiler does not have RTTI or exception handling turned on by default. Although
 they are not strictly necessary to use the serialization package, the example and test
 program presume that they are enabled. So be sure your command line or IDE settings
-enable these features if you want
-these switches are enabled if you want to build and run these programs.
+enable these features if you want to build and run these programs.
 <p>
 This compiler can treat <code style="white-space: normal">wchar_t</code> as either
 a short integer or an intrinsic type.
 If <code style="white-space: normal">/Zc:wchar_t</code> is specified on the
 compile command line, <code style="white-space: normal">wchar_t</code> will be
 considered an intrinsic type - otherwise
-it will be treated as a synonym for a 16 bit integer. The libary can be used
+it will be treated as a synonym for a 16 bit integer. The library can be used
 either way - <strong>BUT</strong> - both the libray <strong>AND</strong> the application
 must be compiled with the same switch settings. Note that <code style="white-space: normal">BJAM</code>
 includes this switch by default. So if want to use the libraries that
@@ -356,11 +356,11 @@
         without a base class.)
     </ul>
     Working around this in the implementation of the library for this compiler
- entailed a ridiculous amount of effort. Even so, the effort wasn't entirely succesful.
+ entailed a ridiculous amount of effort. Even so, the effort wasn't entirely successful.
     With this compiler, this message will still appear under the following conditions:
     <ul>
         <li>When serializing a class with multiple base classes. This problem causes two
- failure in the test suite. I have been unable to divise a way to work around this.
+ failure in the test suite. I have been unable to devise a way to work around this.
         <li>Using more than one kind of archive in the same code module. This should be easy
         to work around in practice.
     </ul>
@@ -372,11 +372,11 @@
 <ul>
     <li><code style="white-space: normal">enum</code> data members cannot be serialized.
     Conversion to/from integers will work around the problem.
- <li>If class serialize functions are not accessable either by making them public or by
+ <li>If class serialize functions are not accessible either by making them public or by
     including <code style="white-space: normal">friend</code> declarations as described in
     <a href="serialization.html#member">Class Serialization - Member Function</a>, the
     will compile but fail at runtime.
- <li>Tests using custom extended type which doesn't use rtti fails. (5.64 only !).
+ <li>Tests using custom extended type which doesn't use RTTI fails. (5.64 only !).
     <li>Tests built in release mode fail. This seems to be an issue with the boost test system
     with this compiler.
     <li>XML serialization only works with version 1.6x of spirit. In order to build
@@ -428,7 +428,7 @@
     <li>when built to use dynamic linking versions of C++ runtime code (<runtime-link>dynamic)
     all tests fail to link. This is due to a missing symbol in the stlport library related
     to custom codecvt facets.
- <li>the test_set fails to run correctly. It seems the hashed set interator doesn't
+ <li>the test_set fails to run correctly. It seems the hashed set iterator doesn't
     implement the ++ operator correctly. This causes the test to fail by consuming all available
     memory. Given this, this test is commented out.
 </ul>

Modified: branches/proto/v3/libs/serialization/doc/rationale.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/rationale.html (original)
+++ branches/proto/v3/libs/serialization/doc/rationale.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -228,7 +228,7 @@
   After a lot of investigation, it's discovered what the source of the problem
   and class construct_from is marked "track_never" by including:
 <code style="white-space: normal"><pre>
-BOOST_SERIALIZATION_TRACKING(construct_from, track_never)
+BOOST_CLASS_TRACKING(construct_from, track_never)
 </pre></code>
   <li>Now everything works again. Or - so it seems.
   <p>
@@ -298,7 +298,7 @@
       might not even be written yet). OK, I'll add the following to my
       construct_from.hpp to solve the problem.
 <code style="white-space: normal"><pre>
-BOOST_SERIALIZATION_TRACKING(construct_from, track_never)
+BOOST_CLASS_TRACKING(construct_from, track_never)
 </pre></code>
     </ol>
   </ul>
@@ -311,7 +311,7 @@
   <li>But now he gets another trap - trying to save an object of a
   class marked "track_never" through a pointer. So he goes back to
   construct_from.hpp and comments out the
- <code style="white-space: normal">BOOST_SERIALIZATION_TRACKING</code> that
+ <code style="white-space: normal">BOOST_CLASS_TRACKING</code> that
   was inserted. Now the second trap is avoided, But damn - the first trap is
   popping up again. Eventually, after some code restructuring, the differing
   requirements of serializating <code style="white-space: normal">construct_from</code>

Modified: branches/proto/v3/libs/serialization/doc/release.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/release.html (original)
+++ branches/proto/v3/libs/serialization/doc/release.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -27,20 +27,22 @@
 <hr>
 <dl class="index">
   <dt>Requirements</dt>
- <dt>Differences from version 1.32</dt>
- <dt>Differences from version 1.33</dt>
+ <dt>Differences from version 1.35</dt>
   <dt>Differences from version 1.34</dt>
+ <dt>Differences from version 1.33</dt>
+ <dt>Differences from version 1.32</dt>
   <dt>Pending Issues</dt>
 </dl>
-This is the Boost 1.33 Serialization Library.
-There are currently no known bugs. However, due to compiler/library quirks and or
+As of this is written, there are no known bugs. However, due to compiler/library quirks and or
 bugs, some tests fail with some combinations of compilers and libraries.
 <h2><a name="requirements"></a>Requirements</h2>
-This library requires Boost version 1.33 or later.
+This library has been tested on Boost version 1.34 and 1.35.
+
+<!--
 <p>
 The serialization library uses the boost spirit package to load XML archives.
 We have found that all tests pass using spirit 1.6x. Spirit 1.8 and higher does not work with
-older compilers - specificallly MSVC 6, Borland and GCC < 3.0.
+older compilers - specifically MSVC 6, Borland and GCC < 3.0.
 If you are using one of these compilers, you may download a version
 of spirit 1.6 here.
 To use this downloaded version rather than the one included with boost,
@@ -52,6 +54,41 @@
 If you're not using bjam and the Jamfile to build the library, be sure that
 the directory which contains the version of spirit you plan to use is placed
 at the front of the list of include paths.
+-->
+
+<h2><a name="differences_1_35"></a>Differences from Boost 1.35</h2>
+<ul>
+ <li>The library is now thread safe. That is, multiple archives can be open
+ in different threads. This has been implmented with a lock-free algorithm
+ to avoid any performance bottlenecks.
+ <li>Serialization of types defined in shared libraries is now supported.
+ shared libraries (DLLS) can be loaded/unloaded dynamically at runtime.
+ This includes the serialization of instances of abstract base classes so that
+ a program can be written so as to be compatible with as yet undefined
+ and un-implemented code.
+ <li>The extended type info system has been enhanced to in order to implement
+ the above. It is now a general purpose system for creating and casting of
+ types about which is only known a string ID and an abstract base class.
+ <li>All bug reports filed as TRAK tickets have been addressed.
+ <li>As of this writing, the library will fail build on older compilers such
+ as MSVC before version 7.1 and older versions of Borland compilers. This
+ might or might not change in the future.
+</ul>
+
+<h2><a name="differences_1_34"></a>Differences from Boost 1.34</h2>
+<ul>
+ <li>Enhanced support for fast serialization for native binary archives. By Mattias Troyer.
+ <li>Improved implementation of "export" functionality. Removes header ordering
+ requirement and eliminates the maintenance of a pre-determined list of "known archives"
+ By David Abrahams.
+ <li>Improved support for STLPort.
+</ul>
+
+<h2><a name="differences_1_33"></a>Differences from Boost 1.33</h2>
+<ul>
+ <li>Native Binary archives use the <code style="white-space: normal">std::streambuf</code> interface.
+ This should result in noticeably faster execution in many cases.
+</ul>
 
 <h2><a name="differences_1_32"></a>Differences from Boost 1.32</h2>
 <ul>
@@ -66,7 +103,7 @@
     <li>Improved <code>const</code> correctness for save/load operators. Note that this may
     produce compile time errors in code which compiled without problem in earlier boost releases.
     In most cases the fix is trivial. In other cases, code should be scrutinized to be
- sure that it doesn't use the serializaton system in a way which may introduce subtle bugs in
+ sure that it doesn't use the serialization system in a way which may introduce subtle bugs in
     to the program. A fuller explanation of this issue can be found
     <a target="detail" href="traits.html#tracking">here</a>.
     <li>A new implementation of serialization for <code style="white-space: normal">shared_ptr&lt;T&gt;</code>. This
@@ -78,42 +115,25 @@
     needs to load archives created with boost 1.32 libraries, include the above header
     before each inclusion of <code style="white-space: normal">boost/serialization/shared_ptr.hpp</code>.
     <li>More compilers tested and supported.
- <li>Miscelleanous bug fixes.
-</ul>
-<h2><a name="differences_1_33"></a>Differences from Boost 1.33</h2>
-<ul>
- <li>Native Binary archives use the <code style="white-space: normal">std::streambuf</code> interface.
- This should result in noticibly faster execution in many cases.
-</ul>
-
-<h2><a name="differences_1_34"></a>Differences from Boost 1.34</h2>
-<ul>
- <li>Ehanced support for fast serialiation for native binary archives. By Mattias Troyer.
- <li>Improved implementation of "export" functionality. Removes header ordering
- requirement and eliminates the maintainence of a pre-determined list of "known archives"
- By David Abrahams.
- <li>Improved support for STLPort.
+ <li>Miscellaneous bug fixes.
 </ul>
 
 <h2><a name="todo"></a>Pending issues</h2>
 <ul>
     <li>Compile, and test on more platforms
- <li>implement <code>is_virtual_base&lt;T&gt;</code> to automatically
- eliminate redundancy in virtual base class serialization.
     <li>currently can't serialize through a pointer an object a of class
     that implements its own <code style="white-space: normal">new/delete</code> operators.
     <li>Its possible that <code style="white-space: normal">std::string</code>
     and <code style="white-space: normal">std::wstring</code> contain characters such as
     '\0' which cannot be rendered in XML without an escape mechanism. Currently there is
     no such escape mechanism implemented.
- <li>A subtle error in the implementation of serialiaton of <code style="white-space: normal">std::map</code>
+ <li>A subtle error in the implementation of serializaton of <code style="white-space: normal">std::map</code>
     is fixed in this version. Unfortunately, the fix breaks serialization of
     <code style="white-space: normal">std::map</code> for those compilers which do not support
     partial template specialization.
- <li>Floating point values which are number cannot be serialized to text base archives.
 </ul>
 <p>
-Aside from the above, there are a number of issus related to specific platforms.
+Aside from the above, there are a number of issues related to specific platforms.
 These are listed in Specific Compiler/Library Issues.
 
 <hr>

Modified: branches/proto/v3/libs/serialization/doc/serialization.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/serialization.html (original)
+++ branches/proto/v3/libs/serialization/doc/serialization.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -48,12 +48,13 @@
         <dt>Free Functions
       </dl>
   </dl>
- <dt>Pointers
+ <dt>Pointers
     <dl class="page-index">
       <dt>Non-Default Constructors
       <dt>Pointers to Objects of Derived Classes
       <dl class="page-index">
         <dt>Registration
+ <dt>Export
         <dt>Instantiation
         <dt>Selective Tracking
         <dt>Runtime Casting
@@ -77,14 +78,15 @@
     <a target="detail" href="traits.html#Traits">serialization traits</a>,
     any user type can also be designated as "primitive"
     so that it is handled in this way.
- <li>It is a class type and one of the following has been declared:
+ <li>It is a class type and one of the following has been declared according
+ to the prototypes detailed below:
     <ul>
     <li>a class member function <code style="white-space: normal">serialize</code>
     <li>a global function <code style="white-space: normal">serialize</code>
     </ul>
   <li>it is a pointer to a <strong>Serializable</strong> type.
   <li>it is a reference to a <strong>Serializable</strong> type.
- <li>it is an native C++ Array of <strong>Serializable</strong> type.
+ <li>it is a native C++ Array of <strong>Serializable</strong> type.
 </ul>
 
 <h2><a name="primitiveoperators">Primitive Types</a></h2>
@@ -675,8 +677,9 @@
 Note that if the serialization function is split between save and load, both
 functions must include the registration. This is required to keep the save
 and corresponding load in syncronization.
-<p>
-This will work but may be inconvenient. We don't always know which derived
+
+<h4><a name="export">Export</a></h4>
+The above will work but may be inconvenient. We don't always know which derived
 classes we are going to serialize when we write the code to serialize through
 a base class pointer. Every time a new derived class is written we have to
 go back to all the places where the base class is serialized and update the

Modified: branches/proto/v3/libs/serialization/doc/shared_ptr2.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/shared_ptr2.html (original)
+++ branches/proto/v3/libs/serialization/doc/shared_ptr2.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -20,7 +20,7 @@
     </td>
     <td valign="top">
       <h1 align="center">Serialization</h1>
- <h2 align="center"><code style="white-space: normal">shared_ptr&lt;class T&gt;</code> Revisted</h2>
+ <h2 align="center"><code style="white-space: normal">shared_ptr&lt;class T&gt;</code> Revisited</h2>
     </td>
   </tr>
 </table>
@@ -32,7 +32,7 @@
   <li>It was dependent on the Boost implementation of <code style="white-space: normal">shared_ptr</code>.
   The <code style="white-space: normal">shared_ptr</code> interface has been included
   in <code style="white-space: normal">std::tr1</code> and may someday be included in the standard
- C++ library. An implementation which depends only on the public interface can be guarenteed to
+ C++ library. An implementation which depends only on the public interface can be guaranteed to
   function with any other future implementation of <code style="white-space: normal">shared_ptr</code>.
   <li>It required extra macros for export.
 </ul>
@@ -45,7 +45,7 @@
     const unsigned int /* file_version */
 ){
     const T * t_ptr = t.get();
- // just seriailize the underlying raw pointer
+ // just serialize the underlying raw pointer
     ar &lt;&lt: boost::serialization::make_nvp("px", t_ptr);
 }
 
@@ -56,7 +56,7 @@
     const unsigned int file_version
 ){
     T* r;
- // recover the underlying raw poiter
+ // recover the underlying raw pointer
     ar >> boost::serialization::make_nvp("px", r);
 
     // To Do - match up with other shared pointers which
@@ -65,13 +65,13 @@
 }
 </code></pre>
 
-In priniciple this is very much simpler than the original implementation. Completion of
+In principle, this is very much simpler than the original implementation. Completion of
 this code requires:
 
 <ol>
   <li>Filling in the "To Do". This required making an extra map for
   <code style="white-space: normal">shared_ptr</code> instances.
- <li>A method for identifing pointers to the same objects from pointers to their base classes.
+ <li>A method for identifying pointers to the same objects from pointers to their base classes.
   <li>Backward compatibility with pointers serialized by the previous method. This exploits
   the serialization class versioning.
   <li>Proper handling of <code style="white-space: normal">weak_ptr</code>.

Modified: branches/proto/v3/libs/serialization/doc/special.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/special.html (original)
+++ branches/proto/v3/libs/serialization/doc/special.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -27,7 +27,6 @@
 <hr>
 <dl class="page-index">
   <dt>Object Tracking
- <dt>Exporting Class Serialization
   <dt>Class Information
   <dt>Archive Portability
   <dl class="page-index">
@@ -36,7 +35,9 @@
   </dl>
   <dt>Binary Archives
   <dt>XML Archives
+ <dt>Exporting Class Serialization
   <dt>DLLS - Serialization and Runtime Linking
+ <dt>Plugins
   <dt>Multi-Threading
   <dt>Optimizations
   <dt>Archive Exceptions
@@ -153,55 +154,6 @@
 BOOST_CLASS_TRACKING(my_virtual_base_class, boost::serialization::track_always)
 </code></pre>
 
-<h3><a name="export">Exporting Class Serialization</a></h3>
-<a target="detail" href="traits.html#export">Elsewhere</a> in this manual, we have described
-<code style="white-space: normal">BOOST_CLASS_EXPORT</code>. This is used to make the serialization library aware
-that code should be instantiated for serialization of a given class even though the
-class hasn't been otherwise referred to by the program. This functionality
-is necessary to implement serialization of pointers through a virtual base
-class pointer. That is, a polymorphic pointer.
-<p>
-This macro specifies a "<b>G</b>lobally <b>U</b>nique <b>ID</b>entifier".
-This is an string which identifies the class to be created when data is loaded.
-Generally a text representation of the class name is sufficient for this purpose,
-but in certain cases it maybe necessary to specify a different string by using
-<code style="white-space: normal">BOOST_CLASS_EXPORT_GUID</code>
-rather than a simple
-<code style="white-space: normal">BOOST_CLASS_EXPORT</code>.
-
-<p>
-<code style="white-space: normal">BOOST_CLASS_EXPORT</code> would usually
-be specified in the same header file as the class declaration to which it
-corresponds. That is, <code style="white-space: normal">BOOST_CLASS_EXPORT(T)</code>
-is a "trait" of the class T. So a program using this class will look
-something like:
-
-<pre><code>
-#include &lt;boost/archive/xml_oarchive.hpp&gt;
-.... // any other archive classes
-#include "my_class.hpp" // which contains BOOST_CLASS_EXPORT(my_class)
-</code></pre>
-
-These headers can be in any order. (In boost versions 1.34
-and earlier, the archive headers had to go before any headers which
-contain <code style="white-space: normal">BOOST_CLASS_EXPORT</code>.)
-Any code required to serialize types specified
-by <code style="white-space: normal">BOOST_CLASS_EXPORT</code> will be
-instantiated for each archive whose header is included. (note that the code
-is instantiated regardless of whether or not it is actually invoked.)
-If no archive headers are included - no code should be instantiated.
-This will permit <code style="white-space: normal">BOOST_CLASS_EXPORT</code>
-to be a permanent part of the <code style="white-space: normal">my_class.hpp</code> .
-
-<p>
-Note that the implementation of this functionality depends upon vendor
-specific extensions to the C++ language. So, there is no guarenteed portability
-of programs which use this facility. However, all C++ compilers which
-are tested with boost provide the required extensions. The library
-includes the extra declarations required by each of these compilers.
-It's reasonable to expect that future C++ compilers will support
-these extensions or something equivalent.
-
 <h3><a name="classinfo">Class Information</a></h3>
 By default, for each class serialized, class information is written to the archive.
 This information includes version number, implementation level and tracking
@@ -286,7 +238,7 @@
 class my_class {
     wchar_t a;
     short unsigned b;
- template<&lt;class Archive&gt;
+ template&lt;class Archive&gt;
     Archive & serialize(Archive & ar, unsigned int version){
         ar & my_wrapper(a);
         ar & my_wrapper(b);
@@ -345,13 +297,105 @@
 So by always using <a target="detail" href="wrappers.html#nvp">name-value pairs</a>, it will
 be guarenteed that all data can be serialized to all archive classes with maximum efficiency.
 
+<h3><a name="export">Exporting Class Serialization</a></h3>
+<a target="detail" href="traits.html#export">Elsewhere</a> in this manual, we have described
+<code style="white-space: normal">BOOST_CLASS_EXPORT</code>.
+Export implies two things:
+<ul>
+<li>Instantiates code which is not otherwise referred to.
+<li>Associates an external identifier with the class to be serialized.
+The fact that the class isn't explicitly referred to implies this
+requirement.
+</ul>
+In C++, usage of code not explicitly referred to is implemented via
+virtual functions. Hence, the need for export is implied by the
+usage of a derived class that is manipulated via a pointer or
+reference to it's base class.
+
+<p>
+<code style="white-space: normal">BOOST_CLASS_EXPORT</code> in the same
+source module that includes any of the archive class headers will
+instantiate code required to serialize polymorphic pointers of
+the indicated type to the all those archive classes. If no
+archive class headers are included, then no code will be instantiated.
+
+<p>
+Note that the implemenation of this functionality requires
+that the <code style="white-space: normal">BOOST_CLASS_EXPORT</code>
+macro appear <b>after</b> and the inclusion of any archive
+class headers for which code is to be instantiated.
+So, code that uses <code style="white-space: normal">BOOST_CLASS_EXPORT</code>
+will look like the following:
+<pre><code>
+#include &lt;boost/archive/text_oarchive.hpp&gt;
+#include &lt;boost/archive/text_oarchive.hpp&gt;
+... // other archives
+
+#include "a.hpp" // header declaration for class a
+BOOST_CLASS_EXPORT(a)
+... // other class headers and exports
+</code></pre>
+This will be true regardless of whether the is part
+of a stand alone executable, a static library or
+a dyanmic or shared library.
+<p>
+Note that including
+<code style="white-space: normal">BOOST_CLASS_EXPORT</code>
+in the "a.hpp" header itself as one would do with
+other serialization traits will make it difficult
+or impossible to follow the rule above regarding
+inclusion of archive headers before
+<code style="white-space: normal">BOOST_CLASS_EXPORT</code>
+is invoked. This is different than other serialization
+traits which would normally be included in same file
+as the class declaration.
+
+<p>
+This system has certain implications for placing code in static or shared
+libraries. Placing <code style="white-space: normal">BOOST_CLASS_EXPORT</code>
+in library code will have no effect unless archive class headers are
+also included. So when building a library, one should include all headers
+for all the archive classes which he anticipates using. Alternatively,
+one can include headers for just the
+Polymoprhic Archives.
+Also, when making shared libraries, there is currently a restriction
+that only one such library can use <code style="white-space: normal">BOOST_CLASS_EXPORT</code>
+for any given type. All this will most likely make it inconvenient
+to include <code style="white-space: normal">BOOST_CLASS_EXPORT</code>
+as part of the header of the class to be serialized. So, <b>the
+best way to use <code style="white-space: normal">BOOST_CLASS_EXPORT</code>
+is to include it in the same module which implements the class</b>.
+
+<p>
+Strictly speaking, export should not be necessary if all pointer serialization
+occurs through the most derived class. However, in order to detect
+what would be catastophic error, the library traps ALL serializations through
+a pointer to a polymorphic which are not exported or otherwise registered.
+So, in practice, be prepared to register or export all classes with one
+or more virtual functions which are serialized through a pointer.
+
+<p>
+Note that the implementation of this functionality depends upon vendor
+specific extensions to the C++ language. So, there is no guarenteed portability
+of programs which use this facility. However, all C++ compilers which
+are tested with boost provide the required extensions. The library
+includes the extra declarations required by each of these compilers.
+It's reasonable to expect that future C++ compilers will support
+these extensions or something equivalent.
+
 <h3><a name="dlls">DLLS - Serialization and Runtime Linking</a></h3>
 Serialization code can be placed in libraries to be linked at runtime. That is,
-code can be placed in DLLS(Windows) or Shared Libraries(*nix).
-Along with the "export" facility, this
-permits a program to written without knowledge of the actual types to be serialized.
-This package doesn't include an example of this technique - but coding would be
-very similar to the example
+code can be placed in DLLS(Windows) Shared Libraries(*nix), or static libraries
+as well as the main executable. As long as
+
+<a target="detail" href="serialization.html#export">
+<code style="white-space: normal">BOOST_CLASS_EXPORT</code>
+</a>
+
+is not used, The serialization library imposes no special requirements
+that need be taken into account when distributing code among various modules.
+<p>
+For static libraries, this is illustrated by
 <a href = "../example/demo_pimpl.cpp" target="demo_pimpl">
 <code style="white-space: normal">demo_pimpl.cpp</code>
 </a>,
@@ -362,52 +406,91 @@
 <a href = "../example/demo_pimpl_A.hpp" target="demo_pimpl">
 <code style="white-space: normal">demo_pimpl_A.hpp</code>
 </a>
-where implementation of serializaton is completely separate
-from the main program.
+where implementation of serializaton is in a static library
+completely separate from the main program.
+
+<p>
+For runtime linked libraries this is illustrated by one of the tests:
+
+<a href = "../test/test_dll_simple.cpp" target="test_dll_simple">
+<code style="white-space: normal">test_dll_simple</code>
+</a>,
+and
+<a href = "../test/dll_A.cpp" target="dll_A">
+<code style="white-space: normal">dll_A.cpp</code>
+</a>
+where implementation of serializaton is also completely separate
+from the main program but the code is loaded at runtime. In this
+example, this code is loaded automatically when the program which
+uses it starts up, but it could just as well be loaded and unloaded
+with an OS dependent API call.
+
+<h3><a name="plugins">Plugins</a></h3>
+In order to implement the library, various facilities for runtime
+manipulation of types are runtime were required. These
+are <a target="detail" href="extended_type_info.html"><code>extended_type_info</code></a>
+for associating classes with external identifying strings (<b>GUID</b>)
+and <a target="detail" href="void_cast.html"><code>void_cast</code></a>
+for casting between pointers of related types.
+
+To complete the functionality of
+<a target="detail" href="extended_type_info.html"><code>extended_type_info</code></a>
+the ability to construct and destroy corresponding types has been
+added. In order to use this functionality, one must specify
+how each type is created. This should be done at the time
+a class is exported. So, a more complete example of the code above would be:
+
+<pre><code>
+#include &lt;boost/archive/text_oarchive.hpp&gt;
+#include &lt;boost/archive/text_oarchive.hpp&gt;
+... // other archives
+
+#include "a.hpp" // header declaration for class a
+
+// this class has a default constructor
+BOOST_SERIALIZATION_FACTORY_0(a)
+// as well as one that takes one integer argument
+BOOST_SERIALIZATION_FACTORY_1(a, int)
+
+// specify the GUID for this class
+BOOST_CLASS_EXPORT(a)
+... // other class headers and exports
+</code></pre>
+
+With this in place, one can construct, serialize and destroy
+about which only is know the <b>GUID</b> and a base class.
+
 
 <h3><a name="multi_threading">Multi-Threading</a></h3>
-The nature of serialization would conflict with multiple thread concurrently
-writing/reading from/to a single open archive. Since each archive is
-independent from ever other one, there should be no problem
-in having multiple open archives from one or more threads.
-<p>
-Well, not quite.
-<p>
-There are a couple of global data structures for holding
-information of serializable types. These structures are
-used to dispatch to correct code to handle each pair
-of serializable types and archive types. Since this
-information is shared among all archives, there is
-potential for problems. This has been addressed
-carefully implementing the library so that these
-structures are all initialized before
-<code style="white-space: normal">main(...)</code>
-is called. From then on they are never altered. So
-there SHOULD be no problem having mulitple archives
-open simultaneously - be it from the same or different
-threads.
-<p>
-Well, almost.
-<p>
-With dynamically loaded code - DLLS or Shared Libraries,
-these global data structures can be altered when a library
-is loaded or unloaded. That is, in this case, these
-globa data structures can be altered after
-<code style="white-space: normal">main(...)</code>
-is called. So if a thread is dynamically loading/unloading
-modules which contain serialization code while an
-archive is open there could be problems. Also, if
-such loading/unloading is happening concurrently
-in different threads, there could also be problems.
-<p>
-It might not be easy to control this. Is possible that
-some systems may not actually load modules until they
-are actually needed. So even though we think that
-there is not dynamic loading/unloading of such code
-it could be occurring as "help" to manage resources.
-On such systems, access to archive code would have
-to be syncronized with some multi-threading construct
-in order to be functional.
+The fundamental purpose of serialization would conflict with multiple
+thread concurrently writing/reading from/to a single open archive instance.
+The library implementation presumes that the application avoids such an situtation.
+<p>
+However, Writing/Reading different archives simultaneously
+in different tasks is permitted as each archive instance is (almost)
+completely independent from any other archive instance. The only shared
+information are some type tables which have been implemented using a
+lock-free thread-safe
+<a target="detail" href="singleton.html">
+<code style="white-space: normal">singleton</code>
+</a>
+described elsewhere in this documentation.
+<p>
+This singleton implementation guarentees that all of this shared
+information is initialized when the code module which contains
+them is loaded. The serialization library takes care to
+ensure that these data structures are not subsequently
+modified. The only time there could be a problem would
+be if code is loaded/unloaded while another task is
+serializing data. This could only occur for types whose
+serialization is implemented in a dynamically loaded/unload DLL
+or shared library. So if the following is avoided:
+<ul>
+ <li>Accessing the same archive instance from different tasks.
+ <li>Loading/Unloading DLLS or shared libraries while any archive
+ instances are open.
+</ul>
+The library should be thread safe.
 
 <h3><a name="optimizations">Optimizations</a></h3>
 In performance critical applications that serialize large sets of contiguous data of homogeneous

Modified: branches/proto/v3/libs/serialization/doc/static_warning.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/static_warning.html (original)
+++ branches/proto/v3/libs/serialization/doc/static_warning.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -25,7 +25,25 @@
   </tr>
 </table>
 <hr>
-To do.
+
+The header <code>&lt;boost/static_warning.hpp&gt;</code> supplies a single macro
+<code style="white-space: normal">BOOST_STATIC_WARNING(x)</code>, which generates a compile time warning message if
+the integral-constant-expression x is not true.
+<p>
+Note that if the condition is true, then the macro will generate neither
+code nor data - and the macro can also be used at either namespace,
+class or function scope. When used in a template, the expression x
+will be evaluated at the time the template is instantiated; this is
+particularly useful for validating template parameters.
+<p>
+It is intended that the functioning of <code style="white-space: normal">BOOST_STATIC_WARNING(x)</code>
+be identical to that of <code style="white-space: normal">BOOST_STATIC_ASSERT(x)</code>
+except that rather than resulting in a compilation error, it will result in
+a compiler warning. In all other respects it should be the same. So
+for more information on using <code style="white-space: normal">BOOST_STATIC_WARNING(x)</code>
+consult the documentation for <code style="white-space: normal">BOOST_STATIC_ASSERT(x)</code>
+here.
+
 <hr>
 <p><i>&copy; Copyright Robert Ramey 2002-2004.
 Distributed under the Boost Software License, Version 1.0. (See

Modified: branches/proto/v3/libs/serialization/doc/traits.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/traits.html (original)
+++ branches/proto/v3/libs/serialization/doc/traits.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -179,7 +179,7 @@
   That is, addresses of addresses are not tracked by default.
   <li>All current serialization wrappers such as <code style="white-space: normal">boost::serialization::nvp</code>,
   <code style="white-space: normal">track_never</code>.
- <li>For all other types, <code style="white-space: normal">track_selectivly</code>.
+ <li>For all other types, <code style="white-space: normal">track_selectively</code>.
   That is addresses of serialized objects are tracked if and only if
   one or more of the following is true:
   <ul>
@@ -471,6 +471,34 @@
 <tr><td><code>IsWrapper</code></td><td><code></code>is the type a wrapper?</td><td><code>mpl::false_<br>mpl::true_</code></td><td><code>mpl::false_</code></td></tr>
 </table>
 
+<<<<<<< .working
+
+<h3><a name="tracking">Bitwise serialization</a></h3>
+Some simple classes could be serialized just by directly copying all bits
+of the class. This is, in particular, the case for POD data types containing
+no pointer members, and which are neither versioned nor tracked. Some archives,
+such as non-portable binary archives can make us of this information to
+substantially speed up serialization.
+
+To indicate the possibility of bitwise serialization the type trait defined
+in the header
+file is_bitwise_serializable.hpp
+is used:
+<pre><code>
+namespace boost { namespace serialization {
+ template<class T>
+ struct is_bitwise_serializable
+ : public is_arithmetic<T>
+ {};
+} }
+</code></pre>
+is used, and can be specialized for other classes. The specialization
+is made easy by the corresponding macro:
+<pre><code>
+BOOST_IS_BITWISE_SERIALIZABLE(my_class)
+</code></pre>
+
+=======
 
 <h3><a name="tracking">Bitwise serialization</a></h3>
 Some simple classes could be serialized just by directly copying all bits
@@ -497,6 +525,7 @@
 BOOST_IS_BITWISE_SERIALIZABLE(my_class)
 </code></pre>
 
+>>>>>>> .merge-right.r41077
 <hr>
 <p><i>&copy; Copyright Robert Ramey 2002-2004 and Matthias Troyer 2006.
 Distributed under the Boost Software License, Version 1.0. (See

Modified: branches/proto/v3/libs/serialization/doc/tutorial.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/tutorial.html (original)
+++ branches/proto/v3/libs/serialization/doc/tutorial.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -123,7 +123,7 @@
     gps_position newg;
     {
         // create and open an archive for input
- std::ifstream ifs("filename", std::ios::binary);
+ std::ifstream ifs("filename");
         boost::archive::text_iarchive ia(ifs);
         // read class state from archive
         ia &gt;&gt; newg;

Modified: branches/proto/v3/libs/serialization/doc/void_cast.html
==============================================================================
--- branches/proto/v3/libs/serialization/doc/void_cast.html (original)
+++ branches/proto/v3/libs/serialization/doc/void_cast.html 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -44,8 +44,8 @@
 template&lt;class Derived, class Base&gt;
 const void_cast_detail::void_caster &
 void_cast_register(
- const Derived * derived = NULL,
- const Base * base = NULL
+ Derived const * derived = NULL,
+ Base * const base = NULL
 )
 </code></pre></h4></dt>
 <dd>

Modified: branches/proto/v3/libs/serialization/example/demo_portable_archive.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/example/demo_portable_archive.cpp (original)
+++ branches/proto/v3/libs/serialization/example/demo_portable_archive.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -10,7 +10,6 @@
 // should pass compilation and execution
 #include <sstream>
 
-#define BOOST_ARCHIVE_SOURCE
 #include "portable_binary_oarchive.hpp"
 #include "portable_binary_iarchive.hpp"
 
@@ -20,30 +19,36 @@
 namespace std{ using ::rand; }
 #endif
 
-// the following is required to be sure the "EXPORT" works if it is used
-#define CUSTOM_ARCHIVE_TYPES portable_binary_oarchive,portable_binary_iarchive
-
 class A
 {
     friend class boost::serialization::access;
+ char c;
     int i;
+ int i2; // special tricky case to check sign extension
     unsigned int ui;
     long l;
     unsigned long ul;
     template<class Archive>
     void serialize(Archive & ar, const unsigned int /* version */){
- ar & i & ui & l & ul ;
+ ar & c & i & i2 & ui & l & ul ;
     }
 public:
     bool operator==(const A & rhs) const {
         return
- i == rhs.i && ui == rhs.ui && l == rhs.l && ul == rhs.ul
+ c == rhs.c
+ && i == rhs.i
+ && i2 == rhs.i2
+ && ui == rhs.ui
+ && l == rhs.l
+ && ul == rhs.ul
         ;
     }
     A() :
+ c(std::rand()),
         i(std::rand()),
+ i2(0x80),
         ui(std::rand()),
- l(std::rand()),
+ l(std::rand() * std::rand()),
         ul(std::rand())
     {}
 };
@@ -62,6 +67,31 @@
         portable_binary_iarchive pbia(ss);
         pbia >> a1;
     }
+ if(! (a == a1))
+ return 1;
+
+ ss.clear();
+ {
+ portable_binary_oarchive pboa(ss, endian_big);
+ pboa << a;
+ }
+ {
+ portable_binary_iarchive pbia(ss, endian_big);
+ pbia >> a1;
+ }
+ if(! (a == a1))
+ return 1;
+
+ ss.clear();
+ {
+ portable_binary_oarchive pboa(ss, endian_big);
+ pboa << a;
+ }
+ {
+ portable_binary_iarchive pbia(ss, endian_big);
+ pbia >> a1;
+ }
+
     return !(a == a1);
 }
 

Modified: branches/proto/v3/libs/serialization/example/portable_binary_iarchive.hpp
==============================================================================
--- branches/proto/v3/libs/serialization/example/portable_binary_iarchive.hpp (original)
+++ branches/proto/v3/libs/serialization/example/portable_binary_iarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -6,31 +6,42 @@
 # pragma once
 #endif
 
+#if defined(_MSC_VER)
+#pragma warning( push )
+#pragma warning( disable : 4244 )
+#endif
+
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
 // portable_binary_iarchive.hpp
 
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2002-7 Robert Ramey - http://www.rrsd.com .
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
 // See http://www.boost.org for updates, documentation, and revision history.
 
-#include <ostream>
-#include <boost/archive/binary_iarchive.hpp>
-#include <boost/detail/endian.hpp>
+#include <istream>
+#include <boost/serialization/string.hpp>
+#include <boost/archive/archive_exception.hpp>
+#include <boost/archive/basic_binary_iprimitive.hpp>
+#include <boost/archive/detail/common_iarchive.hpp>
+#include <boost/archive/shared_ptr_helper.hpp>
+#include <boost/archive/detail/register_archive.hpp>
+
+#include "portable_binary_archive.hpp"
 
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
 // exception to be thrown if integer read from archive doesn't fit
 // variable being loaded
-class portable_binary_archive_exception :
+class portable_binary_iarchive_exception :
     public virtual boost::archive::archive_exception
 {
 public:
     typedef enum {
         incompatible_integer_size
     } exception_code;
- portable_binary_archive_exception(exception_code c = incompatible_integer_size )
+ portable_binary_iarchive_exception(exception_code c = incompatible_integer_size )
     {}
     virtual const char *what( ) const throw( )
     {
@@ -46,128 +57,132 @@
 };
 
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// "Portable" input binary archive. This is a variation of the native binary
-// archive. it addresses integer size and endienness so that binary archives can
-// be passed across systems. Note:floating point types not addressed here
+// "Portable" input binary archive. It addresses integer size and endienness so
+// that binary archives can be passed across systems. Note:floating point types
+// not addressed here
 class portable_binary_iarchive :
- // don't derive from binary_iarchive !!!
- public boost::archive::binary_iarchive_impl<
- portable_binary_iarchive,
+ public boost::archive::basic_binary_iprimitive<
+ portable_binary_iarchive,
         std::istream::char_type,
         std::istream::traits_type
>,
+ public boost::archive::detail::common_iarchive<
+ portable_binary_iarchive
+ >
+ ,
     public boost::archive::detail::shared_ptr_helper
-{
- typedef boost::archive::binary_iarchive_impl<
- portable_binary_iarchive,
+ {
+ typedef boost::archive::basic_binary_iprimitive<
+ portable_binary_iarchive,
         std::istream::char_type,
         std::istream::traits_type
- > archive_base_t;
- typedef boost::archive::basic_binary_iprimitive<
- portable_binary_iarchive,
- std::ostream::char_type,
- std::ostream::traits_type
> primitive_base_t;
+ typedef boost::archive::detail::common_iarchive<
+ portable_binary_iarchive
+ > archive_base_t;
 #ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
 public:
 #else
     friend archive_base_t;
     friend primitive_base_t; // since with override load below
- friend class boost::archive::basic_binary_iarchive<portable_binary_iarchive>;
+ friend class boost::archive::detail::interface_iarchive<
+ portable_binary_iarchive
+ >;
     friend class boost::archive::load_access;
+protected:
 #endif
- void load_impl(long & l, char maxsize){
- char size;
- this->archive_base_t::load(size);
- if(size > maxsize)
- throw portable_binary_archive_exception() ;
- l = 0;
- load_binary(& l, size);
- // we choose to use litle endian
- #ifdef BOOST_BIG_ENDIAN
- char * first = static_cast<char *>(static_cast<void *>(& l));
- char * last = first + sizeof(l) - 1;
- for(;first < last;++first, --last){
- char x = *last;
- *last = *first;
- *first = x;
- }
- #endif
-
- // extend sign if necessary
- if((l >> (size - 1) * 8) & 0x80){
- l |= (-1 << (size * 8));
- }
- }
+ unsigned int m_flags;
+ void load_impl(boost::intmax_t & l, char maxsize);
+
     // default fall through for any types not specified here
     template<class T>
     void load(T & t){
+ boost::intmax_t l;
+ load_impl(l, sizeof(T));
+ // use cast to avoid compile time warning
+ t = static_cast<T>(l);
+ }
+ void load(std::string & t){
+ this->primitive_base_t::load(t);
+ }
+ #ifndef BOOST_NO_STD_WSTRING
+ void load(std::wstring & t){
+ this->primitive_base_t::load(t);
+ }
+ #endif
+ void load(float & t){
         this->primitive_base_t::load(t);
+ // floats not supported
+ //BOOST_STATIC_ASSERT(false);
     }
- void load(unsigned short & t){
- long l;
- load_impl(l, sizeof(unsigned short));
- t = l;
- }
- void load(short & t){
- long l;
- load_impl(l, sizeof(short));
- t = l;
- }
- void load(unsigned int & t){
- long l;
- load_impl(l, sizeof(unsigned int));
- t = l;
- }
- void load(int & t){
- long l;
- load_impl(l, sizeof(int));
- t = l;
- }
- void load(unsigned long & t){
- long l;
- load_impl(l, sizeof(unsigned long));
- t = l;
- }
- void load(long & t){
- long l;
- load_impl(l, sizeof(long));
- t = l;
+ void load(double & t){
+ this->primitive_base_t::load(t);
+ // doubles not supported
+ //BOOST_STATIC_ASSERT(false);
+ }
+ void load(char & t){
+ this->primitive_base_t::load(t);
+ }
+ void load(unsigned char & t){
+ this->primitive_base_t::load(t);
+ }
+ // intermediate level to support override of operators
+ // fot templates in the absence of partial function
+ // template ordering
+ typedef boost::archive::detail::common_iarchive<portable_binary_iarchive>
+ detail_common_iarchive;
+ template<class T>
+ void load_override(T & t, BOOST_PFTO int){
+ this->detail_common_iarchive::load_override(t, 0);
     }
+ void load_override(boost::archive::class_name_type & t, int);
+ // binary files don't include the optional information
+ void load_override(
+ boost::archive::class_id_optional_type & /* t */,
+ int
+ ){}
+
+ void init(unsigned int flags);
 public:
     portable_binary_iarchive(std::istream & is, unsigned flags = 0) :
- archive_base_t(
- is,
- flags | boost::archive::no_header // skip default header checking
- )
+ primitive_base_t(
+ * is.rdbuf(),
+ 0 != (flags & boost::archive::no_codecvt)
+ ),
+ archive_base_t(flags),
+ m_flags(0)
     {
- // use our own header checking
- if(0 != (flags & boost::archive::no_header)){
- this->archive_base_t::init(flags);
- // skip the following for "portable" binary archives
- // boost::archive::basic_binary_oprimitive<derived_t, std::ostream>::init();
- }
+ init(flags);
     }
-};
 
-// explicitly instantiate for this type of text stream
-#include <boost/archive/impl/basic_binary_iarchive.ipp>
-#include <boost/archive/impl/archive_pointer_iserializer.ipp>
-#include <boost/archive/impl/basic_binary_iprimitive.ipp>
-
-namespace boost {
-namespace archive {
-
-template class binary_iarchive_impl<
- portable_binary_iarchive,
- std::istream::char_type,
- std::istream::traits_type
->;
-template class detail::archive_pointer_iserializer<portable_binary_iarchive> ;
+ portable_binary_iarchive(
+ std::basic_streambuf<
+ std::istream::char_type,
+ std::istream::traits_type
+ > & bsb,
+ unsigned int flags
+ ) :
+ primitive_base_t(
+ bsb,
+ 0 != (flags & boost::archive::no_codecvt)
+ ),
+ archive_base_t(flags),
+ m_flags(0)
+ {
+ init(flags);
+ }
+};
 
-} // namespace archive
-} // namespace boost
+// required by export in boost version > 1.34
+#ifdef BOOST_SERIALIZATION_REGISTER_ARCHIVE
+ BOOST_SERIALIZATION_REGISTER_ARCHIVE(portable_binary_iarchive)
+#endif
 
+// required by export in boost <= 1.34
 #define BOOST_ARCHIVE_CUSTOM_IARCHIVE_TYPES portable_binary_iarchive
 
+#if defined(_MSC_VER)
+#pragma warning( pop )
+#endif
+
 #endif // PORTABLE_BINARY_IARCHIVE_HPP

Modified: branches/proto/v3/libs/serialization/example/portable_binary_oarchive.hpp
==============================================================================
--- branches/proto/v3/libs/serialization/example/portable_binary_oarchive.hpp (original)
+++ branches/proto/v3/libs/serialization/example/portable_binary_oarchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -6,6 +6,11 @@
 # pragma once
 #endif
 
+#if defined(_MSC_VER)
+#pragma warning( push )
+#pragma warning( disable : 4244 )
+#endif
+
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
 // portable_binary_oarchive.hpp
 
@@ -17,9 +22,38 @@
 // See http://www.boost.org for updates, documentation, and revision history.
 
 #include <ostream>
+#include <boost/serialization/string.hpp>
 #include <boost/archive/archive_exception.hpp>
-#include <boost/archive/binary_oarchive.hpp>
-#include <boost/detail/endian.hpp>
+#include <boost/archive/basic_binary_oprimitive.hpp>
+#include <boost/archive/detail/common_oarchive.hpp>
+#include <boost/archive/detail/register_archive.hpp>
+
+#include "portable_binary_archive.hpp"
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// exception to be thrown if integer read from archive doesn't fit
+// variable being loaded
+class portable_binary_oarchive_exception :
+ public virtual boost::archive::archive_exception
+{
+public:
+ typedef enum {
+ invalid_flags
+ } exception_code;
+ portable_binary_oarchive_exception(exception_code c = invalid_flags )
+ {}
+ virtual const char *what( ) const throw( )
+ {
+ const char *msg = "programmer error";
+ switch(code){
+ case invalid_flags:
+ msg = "cannot be both big and little endian";
+ default:
+ boost::archive::archive_exception::what();
+ }
+ return msg;
+ }
+};
 
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
 // "Portable" output binary archive. This is a variation of the native binary
@@ -27,65 +61,36 @@
 // be passed across systems. Note:floating point types not addressed here
 
 class portable_binary_oarchive :
- // don't derive from binary_oarchive !!!
- public boost::archive::binary_oarchive_impl<
- portable_binary_oarchive,
+ public boost::archive::basic_binary_oprimitive<
+ portable_binary_oarchive,
         std::ostream::char_type,
         std::ostream::traits_type
+ >,
+ public boost::archive::detail::common_oarchive<
+ portable_binary_oarchive
>
 {
- typedef boost::archive::binary_oarchive_impl<
- portable_binary_oarchive,
- std::ostream::char_type,
- std::ostream::traits_type
- > archive_base_t;
     typedef boost::archive::basic_binary_oprimitive<
- portable_binary_oarchive,
+ portable_binary_oarchive,
         std::ostream::char_type,
         std::ostream::traits_type
> primitive_base_t;
+ typedef boost::archive::detail::common_oarchive<
+ portable_binary_oarchive
+ > archive_base_t;
 #ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
 public:
 #else
     friend archive_base_t;
     friend primitive_base_t; // since with override save below
- friend class boost::archive::basic_binary_oarchive<portable_binary_oarchive>;
+ friend class boost::archive::detail::interface_oarchive<
+ portable_binary_oarchive
+ >;
     friend class boost::archive::save_access;
+protected:
 #endif
- void save_impl(const long l){
- long ll = l;
- char size = 0;
- if(l < 0){
- // make sure that enough of data is output
- // to include a high order bit indicating the sign
- char x;
- do{
- x = ll;
- ll >>= 8;
- ++size;
- }while(ll != -1 && x < 0);
- }
- else{
- do{
- ll >>= 8;
- ++size;
- }while(ll != 0);
- }
-
- this->archive_base_t::save(size);
-
- // we choose to use litle endian
- #ifdef BOOST_BIG_ENDIAN
- char * first = static_cast<char *>(static_cast<void *>(& l));
- char * last = first + sizeof(l) - 1;
- for(;first < last;++first, --last){
- char x = *last;
- *last = *first;
- *first = x;
- }
- #endif
- save_binary(& l, size);
- }
+ unsigned int m_flags;
+ void save_impl(const boost::intmax_t l, const char maxsize);
     // add base class to the places considered when matching
     // save function to a specific set of arguments. Note, this didn't
     // work on my MSVC 7.0 system so we use the sure-fire method below
@@ -94,60 +99,94 @@
     // default fall through for any types not specified here
     template<class T>
     void save(const T & t){
+ save_impl(t, sizeof(T));
+ }
+ void save(const std::string & t){
         this->primitive_base_t::save(t);
     }
- void save(const short t){
- save_impl(t);
+ #ifndef BOOST_NO_STD_WSTRING
+ void save(const std::wstring & t){
+ this->primitive_base_t::save(t);
     }
- void save(const unsigned short t){
- save_impl(t);
+ #endif
+ void save(const float & t){
+ this->primitive_base_t::save(t);
+ // floats not supported
+ //BOOST_STATIC_ASSERT(false);
     }
- void save(const unsigned int t){
- save_impl(t);
+ void save(const double & t){
+ this->primitive_base_t::save(t);
+ // doubles not supported
+ //BOOST_STATIC_ASSERT(false);
     }
- void save(const int t){
- save_impl(t);
+ void save(const char & t){
+ this->primitive_base_t::save(t);
     }
- void save(const unsigned long t){
- save_impl(t);
+ void save(const unsigned char & t){
+ this->primitive_base_t::save(t);
     }
- void save(const long t){
- save_impl(t);
+
+ // default processing - kick back to base class. Note the
+ // extra stuff to get it passed borland compilers
+ typedef boost::archive::detail::common_oarchive<portable_binary_oarchive>
+ detail_common_oarchive;
+ template<class T>
+ void save_override(T & t, BOOST_PFTO int){
+ this->detail_common_oarchive::save_override(t, 0);
     }
+ // explicitly convert to char * to avoid compile ambiguities
+ void save_override(const boost::archive::class_name_type & t, int){
+ const std::string s(t);
+ * this << s;
+ }
+ // binary files don't include the optional information
+ void save_override(
+ const boost::archive::class_id_optional_type & /* t */,
+ int
+ ){}
+
+ void init(unsigned int flags);
 public:
     portable_binary_oarchive(std::ostream & os, unsigned flags = 0) :
- archive_base_t(
- os,
- flags | boost::archive::no_header // skip default header checking
- )
+ primitive_base_t(
+ * os.rdbuf(),
+ 0 != (flags & boost::archive::no_codecvt)
+ ),
+ archive_base_t(flags),
+ m_flags(flags & (endian_big | endian_little))
     {
- // use our own header checking
- if(0 != (flags & boost::archive::no_header)){
- this->archive_base_t::init(flags);
- // skip the following for "portable" binary archives
- // boost::archive::basic_binary_iprimitive<derived_t, std::ostream>::init();
- }
+ init(flags);
+ }
+
+ portable_binary_oarchive(
+ std::basic_streambuf<
+ std::ostream::char_type,
+ std::ostream::traits_type
+ > & bsb,
+ unsigned int flags
+ ) :
+ primitive_base_t(
+ bsb,
+ 0 != (flags & boost::archive::no_codecvt)
+ ),
+ archive_base_t(flags),
+ m_flags(0)
+ {
+ init(flags);
     }
 };
 
-#include <boost/archive/impl/basic_binary_oarchive.ipp>
-#include <boost/archive/impl/archive_pointer_oserializer.ipp>
-#include <boost/archive/impl/basic_binary_oprimitive.ipp>
-
-namespace boost {
-namespace archive {
-
-// explicitly instantiate for this type of binary stream
-template class binary_oarchive_impl<
- portable_binary_oarchive,
- std::ostream::char_type,
- std::ostream::traits_type
->;
-template class detail::archive_pointer_oserializer<portable_binary_oarchive> ;
 
-} // namespace archive
-} // namespace boost
+// required by export in boost version > 1.34
+#ifdef BOOST_SERIALIZATION_REGISTER_ARCHIVE
+ BOOST_SERIALIZATION_REGISTER_ARCHIVE(portable_binary_oarchive)
+#endif
 
+// required by export in boost <= 1.34
 #define BOOST_ARCHIVE_CUSTOM_OARCHIVE_TYPES portable_binary_oarchive
 
+#if defined(_MSC_VER)
+#pragma warning( pop )
+#endif
+
 #endif // PORTABLE_BINARY_OARCHIVE_HPP

Modified: branches/proto/v3/libs/serialization/src/basic_archive.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/basic_archive.cpp (original)
+++ branches/proto/v3/libs/serialization/src/basic_archive.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -17,7 +17,7 @@
 // [
 // exported key - class name*
 // tracking level - always/never
-// file version
+// class version
 // ]
 //
 // if tracking

Modified: branches/proto/v3/libs/serialization/src/basic_iarchive.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/basic_iarchive.cpp (original)
+++ branches/proto/v3/libs/serialization/src/basic_iarchive.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -23,20 +23,23 @@
 } // namespace std
 #endif
 
-#define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/detail/auto_link_archive.hpp>
-
 #include <boost/limits.hpp>
 #include <boost/state_saver.hpp>
 #include <boost/throw_exception.hpp>
+#include <boost/serialization/tracking.hpp>
+
+#include <boost/archive/archive_exception.hpp>
+
+#define BOOST_ARCHIVE_SOURCE
+#define BOOST_SERIALIZATION_SOURCE
 
+#include <boost/archive/detail/decl.hpp>
+#include <boost/archive/basic_archive.hpp>
 #include <boost/archive/detail/basic_iserializer.hpp>
 #include <boost/archive/detail/basic_pointer_iserializer.hpp>
 #include <boost/archive/detail/basic_iarchive.hpp>
-#include <boost/archive/archive_exception.hpp>
 
-#include <boost/serialization/tracking.hpp>
-#include <boost/serialization/extended_type_info.hpp>
+#include <boost/archive/detail/auto_link_archive.hpp>
 
 using namespace boost::serialization;
 
@@ -44,9 +47,6 @@
 namespace archive {
 namespace detail {
 
-class basic_iserializer;
-class basic_pointer_iserializer;
-
 class basic_iarchive_impl {
     friend class basic_iarchive;
     version_type m_archive_library_version;
@@ -166,6 +166,7 @@
         m_flags(flags),
         moveable_objects_start(0),
         moveable_objects_end(0),
+ moveable_objects_recent(0),
         pending_object(NULL),
         pending_bis(NULL),
         pending_version(0)
@@ -274,8 +275,10 @@
         ++i
     ){
         if(i->loaded_as_pointer){
- const unsigned int j = i->class_id;
+ // borland complains without this minor hack
+ const int j = i->class_id;
             const cobject_id & co = cobject_id_vector[j];
+ //const cobject_id & co = cobject_id_vector[i->class_id];
             // with the appropriate input serializer,
             // delete the indicated object
             co.bis_ptr->destroy(i->address);
@@ -358,7 +361,8 @@
     }
 
     const class_id_type cid = register_type(bis);
- cobject_id & co = cobject_id_vector[cid];
+ const int i = cid;
+ cobject_id & co = cobject_id_vector[i];
 
     load_preamble(ar, co);
 
@@ -482,8 +486,15 @@
     return bpis_ptr;
 }
 
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
 //////////////////////////////////////////////////////////////////////
 // implementation of basic_iarchive functions
+namespace boost {
+namespace archive {
+namespace detail {
 
 BOOST_ARCHIVE_DECL(void)
 basic_iarchive::next_object_pointer(void *t){

Modified: branches/proto/v3/libs/serialization/src/basic_iserializer.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/basic_iserializer.cpp (original)
+++ branches/proto/v3/libs/serialization/src/basic_iserializer.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -20,7 +20,7 @@
     const boost::serialization::extended_type_info & eti
 ) :
     basic_serializer(eti),
- bpis(NULL)
+ m_bpis(NULL)
 {}
 
 BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())

Modified: branches/proto/v3/libs/serialization/src/basic_oarchive.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/basic_oarchive.cpp (original)
+++ branches/proto/v3/libs/serialization/src/basic_oarchive.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -20,12 +20,14 @@
 // including this here to work around an ICC in intel 7.0
 // normally this would be part of basic_oarchive.hpp below.
 #define BOOST_ARCHIVE_SOURCE
-#include <boost/archive/basic_archive.hpp>
+#define BOOST_SERIALIZATION_SOURCE
 
+#include <boost/archive/basic_archive.hpp>
 #include <boost/archive/detail/basic_oserializer.hpp>
 #include <boost/archive/detail/basic_pointer_oserializer.hpp>
 #include <boost/archive/detail/basic_oarchive.hpp>
 #include <boost/archive/archive_exception.hpp>
+#include <boost/serialization/extended_type_info.hpp>
 
 #ifdef BOOST_MSVC
 # pragma warning(push)
@@ -35,9 +37,6 @@
 using namespace boost::serialization;
 
 namespace boost {
-namespace serialization {
- class extended_type_info;
-}
 namespace archive {
 namespace detail {
 
@@ -164,7 +163,7 @@
 };
 
 //////////////////////////////////////////////////////////////////////
-// implementation of basic_oarchive implementation functions
+// basic_oarchive implementation functions
 
 // given a type_info - find its bos
 // return NULL if not found
@@ -385,9 +384,17 @@
     stored_pointers.insert(oid);
 }
 
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
 //////////////////////////////////////////////////////////////////////
 // implementation of basic_oarchive functions
 
+namespace boost {
+namespace archive {
+namespace detail {
+
 BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
 basic_oarchive::basic_oarchive(unsigned int flags)
     : pimpl(new basic_oarchive_impl(flags))

Modified: branches/proto/v3/libs/serialization/src/basic_oserializer.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/basic_oserializer.cpp (original)
+++ branches/proto/v3/libs/serialization/src/basic_oserializer.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -20,7 +20,7 @@
         const boost::serialization::extended_type_info & eti
 ) :
     basic_serializer(eti),
- bpos(NULL)
+ m_bpos(NULL)
 {}
 
 BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())

Modified: branches/proto/v3/libs/serialization/src/basic_serializer_map.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/basic_serializer_map.cpp (original)
+++ branches/proto/v3/libs/serialization/src/basic_serializer_map.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -14,8 +14,6 @@
 
 #include <stdlib.h> // for NULL
 
-#include <set>
-
 #define BOOST_ARCHIVE_SOURCE
 #include <boost/archive/detail/basic_serializer.hpp>
 #include <boost/archive/detail/basic_serializer_map.hpp>
@@ -27,6 +25,7 @@
 namespace archive {
 namespace detail {
 
+#if 0
 BOOST_ARCHIVE_DECL(bool)
 type_info_pointer_compare::operator()(
     const basic_serializer * lhs, const basic_serializer * rhs
@@ -34,6 +33,19 @@
     return *lhs < *rhs;
 }
 
+class basic_serializer_arg : public basic_serializer {
+public:
+ basic_serializer_arg(const serialization::extended_type_info & eti) :
+ basic_serializer(eti)
+ {}
+};
+#endif
+
+} // namespace detail
+} // namespace archive
+} // namespace boost
+
+#if 0
 BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
 basic_serializer_map::basic_serializer_map(bool & deleted) :
     m_deleted(deleted)
@@ -41,6 +53,19 @@
     m_deleted = false;
 }
 
+BOOST_ARCHIVE_DECL(const basic_serializer *)
+basic_serializer_map::tfind(
+ const boost::serialization::extended_type_info & eti
+) const {
+ const basic_serializer_arg bs(eti);
+ map_type::const_iterator it;
+ boost::serialization::singleton<basic_serializer_map>::lease l;
+ it = l->m_map.find(& bs);
+ if(it == l->m_map.end())
+ return NULL;
+ return *it;
+}
+
 BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())
 basic_serializer_map::~basic_serializer_map(){
     m_deleted = true;
@@ -48,33 +73,13 @@
 
 BOOST_ARCHIVE_DECL(bool)
 basic_serializer_map::insert(const basic_serializer * bs){
- return m_map.insert(bs).second;
+ boost::serialization::singleton<basic_serializer_map>::lease l;
+ return l->m_map.insert(bs).second;
 }
 
 BOOST_ARCHIVE_DECL(void)
 basic_serializer_map::erase(basic_serializer * bs){
- m_map.erase(bs);
+ boost::serialization::singleton<basic_serializer_map>::lease l;
+ l->m_map.erase(bs);
 }
-
-class basic_serializer_arg : public basic_serializer {
-public:
- basic_serializer_arg(const serialization::extended_type_info & eti) :
- basic_serializer(eti)
- {}
-};
-
-BOOST_ARCHIVE_DECL(const basic_serializer *)
-basic_serializer_map::tfind(
- const boost::serialization::extended_type_info & eti
-) const {
- const basic_serializer_arg bs(eti);
- map_type::const_iterator it;
- it = m_map.find(& bs);
- if(it == m_map.end())
- return NULL;
- return *it;
-}
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
+#endif

Modified: branches/proto/v3/libs/serialization/src/basic_xml_grammar.ipp
==============================================================================
--- branches/proto/v3/libs/serialization/src/basic_xml_grammar.ipp (original)
+++ branches/proto/v3/libs/serialization/src/basic_xml_grammar.ipp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -29,6 +29,7 @@
 #include <boost/io/ios_state.hpp>
 #include <boost/throw_exception.hpp>
 #include <boost/archive/impl/basic_xml_grammar.hpp>
+#include <boost/archive/xml_archive_exception.hpp>
 #include <boost/archive/basic_xml_archive.hpp>
 #include <boost/archive/iterators/xml_unescape.hpp>
 
@@ -269,7 +270,7 @@
     ;
 
     // refactoring to workaround template depth on darwin
- CharDataChars = *(anychar_p - chset_p(L"&<"));
+ CharDataChars = +(anychar_p - chset_p(L"&<"));
     CharData =
         CharDataChars [
             xml::append_string<
@@ -305,7 +306,7 @@
 
     content =
         L"<" // should be end_p
- | (Reference | CharData) >> content
+ | +(Reference | CharData) >> L"<"
     ;
 
     ClassIDAttribute =
@@ -368,7 +369,7 @@
         Name
>> Eq
>> L'"'
- >> CharData
+ >> !CharData
>> L'"'
     ;
 

Modified: branches/proto/v3/libs/serialization/src/binary_iarchive.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/binary_iarchive.cpp (original)
+++ branches/proto/v3/libs/serialization/src/binary_iarchive.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -23,28 +23,28 @@
 // explicitly instantiate for this type of stream
 template class basic_binary_iprimitive<
     naked_binary_iarchive,
- char,
- std::char_traits<char>
+ std::istream::char_type,
+ std::istream::traits_type
>;
 template class basic_binary_iarchive<naked_binary_iarchive> ;
 template class binary_iarchive_impl<
     naked_binary_iarchive,
- char,
- std::char_traits<char>
+ std::istream::char_type,
+ std::istream::traits_type
>;
 template class detail::archive_pointer_iserializer<naked_binary_iarchive> ;
 
 // explicitly instantiate for this type of stream
 template class basic_binary_iprimitive<
     binary_iarchive,
- char,
- std::char_traits<char>
+ std::istream::char_type,
+ std::istream::traits_type
>;
 template class basic_binary_iarchive<binary_iarchive> ;
 template class binary_iarchive_impl<
     binary_iarchive,
- char,
- std::char_traits<char>
+ std::istream::char_type,
+ std::istream::traits_type
>;
 template class detail::archive_pointer_iserializer<binary_iarchive> ;
 

Modified: branches/proto/v3/libs/serialization/src/binary_oarchive.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/binary_oarchive.cpp (original)
+++ branches/proto/v3/libs/serialization/src/binary_oarchive.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -23,14 +23,14 @@
 // explicitly instantiate for this type of binary stream
 template class basic_binary_oprimitive<
     binary_oarchive,
- char,
- std::char_traits<char>
+ std::ostream::char_type,
+ std::ostream::traits_type
>;
 template class basic_binary_oarchive<binary_oarchive> ;
 template class binary_oarchive_impl<
     binary_oarchive,
- char,
- std::char_traits<char>
+ std::ostream::char_type,
+ std::ostream::traits_type
>;
 template class detail::archive_pointer_oserializer<binary_oarchive> ;
 

Modified: branches/proto/v3/libs/serialization/src/codecvt_null.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/codecvt_null.cpp (original)
+++ branches/proto/v3/libs/serialization/src/codecvt_null.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -7,7 +7,7 @@
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#define BOOST_ARCHIVE_SOURCE
+#define BOOST_WARCHIVE_SOURCE
 #include <boost/archive/codecvt_null.hpp>
 
 // codecvt implementation for passing wchar_t objects to char output
@@ -17,7 +17,7 @@
 namespace boost {
 namespace archive {
 
-std::codecvt_base::result
+BOOST_WARCHIVE_DECL(std::codecvt_base::result)
 codecvt_null<wchar_t>::do_out(
     std::mbstate_t & state,
     const wchar_t * first1,
@@ -45,7 +45,7 @@
     return std::codecvt_base::ok;
 }
 
-std::codecvt_base::result
+BOOST_WARCHIVE_DECL(std::codecvt_base::result)
 codecvt_null<wchar_t>::do_in(
     std::mbstate_t & state,
     const char * first1,

Modified: branches/proto/v3/libs/serialization/src/extended_type_info.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/extended_type_info.cpp (original)
+++ branches/proto/v3/libs/serialization/src/extended_type_info.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -14,6 +14,7 @@
 
 #include <algorithm>
 #include <set>
+#include <utility>
 #include <cassert>
 
 #include <boost/config.hpp> // msvc needs this to suppress warning
@@ -24,271 +25,131 @@
 #endif
 
 #include <boost/detail/no_exceptions_support.hpp>
+#include <boost/serialization/singleton.hpp>
+#include <boost/serialization/force_include.hpp>
+
 #define BOOST_SERIALIZATION_SOURCE
 #include <boost/serialization/extended_type_info.hpp>
 
 namespace boost {
 namespace serialization {
-
-// remove all registrations corresponding to a given type
-void unregister_void_casts(extended_type_info *eti);
-
 namespace detail {
 
-// it turns out that at least one compiler (msvc 6.0) doesn't guarentee
-// to destroy static objects in exactly the reverse sequence that they
-// are constructed. To guarentee this, use a singleton pattern
-
-// map for finding the unique global extended type entry for a given type
-class tkmap {
- struct type_info_compare
- {
- bool
- operator()(const extended_type_info * lhs, const extended_type_info * rhs) const
- {
- assert(! lhs->is_destructing());
- assert(! rhs->is_destructing());
- return *lhs < *rhs;
- }
- };
- typedef std::multiset<const extended_type_info *, type_info_compare> type;
- //typedef std::set<const extended_type_info *, type_info_compare> type;
- type m_map;
- static tkmap * m_self;
- tkmap(){}
- static tkmap::type::iterator
- lookup(const extended_type_info * eti){
- return m_self->m_map.find(eti);
- }
-public:
- ~tkmap(){
- m_self = NULL;
- }
- static void
- insert(const extended_type_info * eti){
- if(NULL == m_self){
- static tkmap instance;
- m_self = & instance;
- }
- // make sure that attempt at registration is done only once
- assert(lookup(eti) == m_self->m_map.end());
- m_self->m_map.insert(eti);
- }
- static const extended_type_info *
- find(const extended_type_info * eti){
- if(NULL == m_self)
- return NULL;
- tkmap::type::const_iterator it;
- it = m_self->m_map.find(eti);
- if(it == m_self->m_map.end())
- return NULL;
- return *it;
- }
- static void
- purge(const extended_type_info * eti){
- if(NULL == m_self)
- return;
- // note: the following can't be used as this function
- // is called from a destructor of extended_type_info.
- // This will generate an error on some machines - which
- // makes sense be cause by this time the derived class data
- // might be gone. Leave this in as a reminder not to do this
- #if 0
- tkmap::type::iterator it;
- it = lookup(eti);
- // it should be in there
- assert(it != m_self->m_map.end());
- m_self->m_map.erase(it);
- #endif
-
- tkmap::type::iterator i = m_self->m_map.begin();
- tkmap::type::iterator k = m_self->m_map.end();
- while(i != k){
- // note that the erase might invalidate i so save it here
- tkmap::type::iterator j = i++;
- if(*j == eti)
- m_self->m_map.erase(j);
- }
+struct key_compare
+{
+ bool
+ operator()(
+ const extended_type_info * lhs,
+ const extended_type_info * rhs
+ ) const {
+ const char * l = lhs->get_key();
+ assert(NULL != l);
+ const char * r = rhs->get_key();
+ assert(NULL != r);
+ // performance shortcut
+ // shortcut to exploit string pooling
+ if(l == r)
+ return false;
+ // for exported types, use the string key so that
+ // multiple instances in different translation units
+ // can be matched up
+ return std::strcmp(l, r) < 0;
     }
 };
 
-tkmap * tkmap::m_self = NULL;
-
-// map for finding the unique global extended type info entry given its GUID
-class ktmap {
- struct key_compare
- {
- bool
- operator()(const extended_type_info * lhs, const extended_type_info * rhs) const
- {
- // shortcut to exploit string pooling
- if(lhs->get_key() == rhs->get_key())
- return false;
- if(NULL == lhs->get_key())
- return true;
- if(NULL == rhs->get_key())
- return false;
- return std::strcmp(lhs->get_key(), rhs->get_key()) < 0;
- }
- };
- typedef std::multiset<const extended_type_info *, key_compare> type;
- //typedef std::set<const extended_type_info *, key_compare> type;
- type m_map;
- static ktmap * m_self;
- ktmap(){}
- class extended_type_info_arg : public extended_type_info
- {
- public:
- extended_type_info_arg(const char * key) :
- extended_type_info(NULL)
- {
- m_key = key;
- }
- virtual bool
- less_than(const extended_type_info &rhs) const
- {
- assert(false);
- return false; // to prevent a syntax error
- }
- };
- static ktmap::type::iterator
- lookup(const char *key){
- extended_type_info_arg arg(key);
- return m_self->m_map.find(&arg);
- }
+typedef std::multiset<const extended_type_info *, key_compare> ktmap;
 
+class extended_type_info_arg : public extended_type_info
+{
 public:
- ~ktmap(){
- m_self = NULL;
- }
- static void
- insert(const extended_type_info * eti){
- if(NULL == m_self){
- static ktmap instance;
- m_self = & instance;
- }
- // make sure that all GUIDs are unique
- assert(lookup(eti->get_key()) == m_self->m_map.end());
- m_self->m_map.insert(eti);
- }
- static const extended_type_info *
- find(const char *key)
+ extended_type_info_arg(const char * key) :
+ extended_type_info(NULL)
     {
- if(NULL == m_self)
- return NULL;
- extended_type_info_arg arg(key);
- ktmap::type::const_iterator it;
- it = m_self->m_map.find(&arg);
- if(it == m_self->m_map.end())
- return NULL;
- return *it;
+ m_key = key;
     }
- static void
- purge(const extended_type_info * eti){
- if(NULL == m_self)
- return;
- // note: the following can't be used as this function
- // is called from a destructor of extended_type_info.
- // This will generate an error on some machines - which
- // makes sense be cause by this time the derived class data
- // might be gone. Leave this in as a reminder not to do this
- #if 0
- ktmap::type::iterator it;
- it = lookup(eti->get_key());
- // expect it to be in there !
- assert(it != m_self->m_map.end());
- m_self->m_map.erase(it);
- #endif
-
- ktmap::type::iterator i = m_self->m_map.begin();
- ktmap::type::iterator k = m_self->m_map.end();
- while(i != k){
- // note that the erase might invalidate i so save it here
- ktmap::type::iterator j = i++;
- if(*j == eti)
- m_self->m_map.erase(j);
- }
+ ~extended_type_info_arg(){
+ m_key = NULL;
     }
 };
 
-ktmap * ktmap::m_self = NULL;
-
 } // namespace detail
 
-BOOST_SERIALIZATION_DECL(const extended_type_info *)
-extended_type_info::find(const char *key)
-{
- return detail::ktmap::find(key);
+BOOST_SERIALIZATION_DECL(void)
+extended_type_info::key_register(const char *key) {
+ assert(NULL != key);
+ m_key = key;
+ singleton<detail::ktmap>::get_mutable_instance().insert(this);
 }
 
-BOOST_SERIALIZATION_DECL(void)
-extended_type_info::self_register()
-{
- detail::tkmap::insert(this);
- m_self_registered = true;
+BOOST_SERIALIZATION_DECL(void)
+extended_type_info::key_unregister() {
+ assert(NULL != m_key);
+ detail::ktmap & x = singleton<detail::ktmap>::get_mutable_instance();
+ detail::ktmap::iterator start = x.lower_bound(this);
+ detail::ktmap::iterator end = x.upper_bound(this);
+ assert(start != end);
+
+ // remove entry in map which corresponds to this type
+ do{
+ if(this == *start){
+ x.erase(start);
+ break;
+ }
+ }while(++start != end);
+
+ m_key = NULL;
 }
 
-BOOST_SERIALIZATION_DECL(void)
-extended_type_info::key_register(const char *key_) {
- if(NULL == key_)
- return;
- m_key = key_;
- detail::ktmap::insert(this);
- m_key_registered = true;
+BOOST_SERIALIZATION_DECL(const extended_type_info *)
+extended_type_info::find(const char *key) {
+ assert(NULL != key);
+ const detail::ktmap & k = singleton<detail::ktmap>::get_const_instance();
+ const detail::extended_type_info_arg eti_key(key);
+ const detail::ktmap::const_iterator it = k.find(& eti_key);
+ if(k.end() == it)
+ return NULL;
+ return *(it);
 }
 
-BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
+BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
 extended_type_info::extended_type_info(
- const char * type_info_key
+ const unsigned int type_info_key
 ) :
     m_type_info_key(type_info_key),
- m_self_registered(false),
- m_key_registered(false),
- m_is_destructing(false)
-{}
+ m_key(NULL)
+{
+ // make sure that the ktmap is instantiated before
+ // the first key is added to it.
+ singleton<detail::ktmap>::get_const_instance();
+}
 
 BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
 extended_type_info::~extended_type_info(){
- // remove entries in maps which correspond to this type
- m_is_destructing = true;
- BOOST_TRY{
- if(m_self_registered)
- detail::tkmap::purge(this);
- if(m_key_registered)
- detail::ktmap::purge(this);
- unregister_void_casts(this);
- }
- BOOST_CATCH(...){}
- BOOST_CATCH_END
-}
-
-BOOST_SERIALIZATION_DECL(int)
-extended_type_info::type_info_key_cmp(const extended_type_info & rhs) const {
- if(m_type_info_key == rhs.m_type_info_key)
- return 0;
- //return strcmp(lhs.type_info_key, rhs.type_info_key);
- // all we require is that the type_info_key be unique
- // so just compare the addresses
- return m_type_info_key < rhs.m_type_info_key ? -1 : 1;
+ if(NULL == m_key)
+ return;
+ key_unregister();
 }
 
-BOOST_SERIALIZATION_DECL(const extended_type_info *)
-extended_type_info::find(const extended_type_info * t)
-{
- return detail::tkmap::find(t);
+BOOST_SERIALIZATION_DECL(bool)
+extended_type_info::operator<(const extended_type_info &rhs) const {
+ if(m_type_info_key == rhs.m_type_info_key){
+ return is_less_than(rhs);
+ }
+ if(m_type_info_key < rhs.m_type_info_key)
+ return true;
+ return false;
 }
 
 BOOST_SERIALIZATION_DECL(bool)
-extended_type_info::operator<(const extended_type_info &rhs) const {
- int i = type_info_key_cmp(rhs);
- if(i < 0)
+extended_type_info::operator==(const extended_type_info &rhs) const {
+ // short cut for a common cases
+ if(this == & rhs)
         return true;
- if(i > 0)
+ if(m_type_info_key != rhs.m_type_info_key){
         return false;
- assert(! is_destructing());
- assert(! rhs.is_destructing());
- return less_than(rhs);
-}
+ }
+ return is_equal(rhs);
+};
 
 } // namespace serialization
 } // namespace boost

Modified: branches/proto/v3/libs/serialization/src/extended_type_info_no_rtti.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/extended_type_info_no_rtti.cpp (original)
+++ branches/proto/v3/libs/serialization/src/extended_type_info_no_rtti.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,21 +18,42 @@
 #define BOOST_SERIALIZATION_SOURCE
 #include <boost/serialization/extended_type_info_no_rtti.hpp>
 
+#define EXTENDED_TYPE_INFO_NO_RTTI_KEY 2
+
 namespace boost {
 namespace serialization {
 namespace detail {
 
+BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
+extended_type_info_no_rtti_0::extended_type_info_no_rtti_0() :
+ extended_type_info(EXTENDED_TYPE_INFO_NO_RTTI_KEY)
+{}
+
 BOOST_SERIALIZATION_DECL(bool)
-extended_type_info_no_rtti_0::less_than(
+extended_type_info_no_rtti_0::is_less_than(
     const boost::serialization::extended_type_info &rhs) const
 {
- return std::strcmp(m_key, rhs.get_key()) < 0;
+ const char * l = m_key;
+ const char * r = rhs.get_key();
+ assert(NULL != l);
+ assert(NULL != r);
+ return std::strcmp(l, r) < 0;
 }
 
-BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
-extended_type_info_no_rtti_0::extended_type_info_no_rtti_0() :
- boost::serialization::extended_type_info("extended_type_info_no_rtti")
-{}
+BOOST_SERIALIZATION_DECL(bool)
+extended_type_info_no_rtti_0::is_equal(
+ const boost::serialization::extended_type_info &rhs) const
+{
+ const char * l = m_key;
+ const char * r = rhs.get_key();
+ if(l == r)
+ return true;
+ if(NULL == l)
+ return false;
+ if(NULL == r)
+ return false;
+ return 0 == std::strcmp(l, r);
+}
 
 BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
 extended_type_info_no_rtti_0::~extended_type_info_no_rtti_0()

Modified: branches/proto/v3/libs/serialization/src/extended_type_info_typeid.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/extended_type_info_typeid.cpp (original)
+++ branches/proto/v3/libs/serialization/src/extended_type_info_typeid.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -9,6 +9,15 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 
+#include <algorithm>
+#include <set>
+#include <cassert>
+#include <typeinfo>
+
+#include <boost/detail/no_exceptions_support.hpp>
+
+#include <boost/serialization/singleton.hpp>
+
 #define BOOST_SERIALIZATION_SOURCE
 #include <boost/serialization/extended_type_info_typeid.hpp>
 
@@ -16,49 +25,105 @@
 namespace serialization {
 namespace detail {
 
-BOOST_SERIALIZATION_DECL(bool)
-extended_type_info_typeid_0::less_than(const extended_type_info &rhs) const
+#define EXTENDED_TYPE_INFO_TYPE_KEY 1
+
+struct type_compare
 {
- return 0 != get_eti().before(
- static_cast<const extended_type_info_typeid_0 &>(rhs).get_eti()
+ bool
+ operator()(
+ const extended_type_info_typeid_0 * lhs,
+ const extended_type_info_typeid_0 * rhs
+ ) const {
+ return lhs->is_less_than(*rhs);
+ }
+};
+
+typedef std::multiset<
+ const extended_type_info_typeid_0 *,
+ type_compare
+> tkmap;
+
+BOOST_SERIALIZATION_DECL(bool)
+extended_type_info_typeid_0::is_less_than(
+ const boost::serialization::extended_type_info & rhs
+) const {
+ return m_ti->before(
+ *(static_cast<const extended_type_info_typeid_0 &>(rhs).m_ti)
     );
 }
 
-BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
+BOOST_SERIALIZATION_DECL(bool)
+extended_type_info_typeid_0::is_equal(
+ const boost::serialization::extended_type_info & rhs
+) const {
+ return * m_ti == *(static_cast<const extended_type_info_typeid_0 &>(rhs).m_ti);
+}
+
+BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
 extended_type_info_typeid_0::extended_type_info_typeid_0() :
- extended_type_info("extended_type_info_typeid")
+ extended_type_info(EXTENDED_TYPE_INFO_TYPE_KEY),
+ m_ti(NULL)
 {}
 
-BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
+BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
 extended_type_info_typeid_0::~extended_type_info_typeid_0()
 {}
 
+BOOST_SERIALIZATION_DECL(void)
+extended_type_info_typeid_0::type_register(const std::type_info & ti){
+ m_ti = & ti;
+ singleton<tkmap>::get_mutable_instance().insert(this);
+}
+
+BOOST_SERIALIZATION_DECL(void)
+extended_type_info_typeid_0::type_unregister()
+{
+ if(NULL == m_ti)
+ return;
+
+ tkmap & x = singleton<tkmap>::get_mutable_instance();
+ tkmap::iterator start = x.lower_bound(this);
+ tkmap::iterator end = x.upper_bound(this);
+ assert(start != end);
+
+ // remove entry in map which corresponds to this type
+ do{
+ if(this == *start){
+ x.erase(start);
+ break;
+ }
+ }while(++start != end);
+
+ m_ti = NULL;
+}
+
 // this derivation is used for creating search arguments
 class extended_type_info_typeid_arg :
     public extended_type_info_typeid_0
 {
 private:
- const std::type_info & ti;
- virtual const std::type_info &get_eti() const
- {
- return ti;
- }
 public:
- extended_type_info_typeid_arg(const std::type_info & ti_)
- : ti(ti_)
- {
+ extended_type_info_typeid_arg(const std::type_info & ti){
         // note absense of self register and key as this is used only as
         // search argument given a type_info reference and is not to
         // be added to the map.
+ m_ti = & ti;
+ }
+ ~extended_type_info_typeid_arg(){
+ m_ti = NULL;
     }
 };
 
 BOOST_SERIALIZATION_DECL(const extended_type_info *)
-extended_type_info_typeid_0::get_derived_extended_type_info(
+extended_type_info_typeid_0::get_extended_type_info(
     const std::type_info & ti
-){
+) const {
     detail::extended_type_info_typeid_arg etia(ti);
- return extended_type_info::find(& etia);
+ const tkmap & t = singleton<tkmap>::get_const_instance();
+ const tkmap::const_iterator it = t.find(& etia);
+ if(t.end() == it)
+ return NULL;
+ return *(it);
 }
 
 } // namespace detail

Modified: branches/proto/v3/libs/serialization/src/void_cast.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/void_cast.cpp (original)
+++ branches/proto/v3/libs/serialization/src/void_cast.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -16,13 +16,15 @@
 #include <cassert>
 
 // STL
-#include <set>
+#include <vector>
 #include <functional>
 #include <algorithm>
 #include <cassert>
 
 // BOOST
-#include <boost/shared_ptr.hpp>
+#define BOOST_SERIALIZATION_SOURCE
+#include <boost/serialization/singleton.hpp>
+
 #define BOOST_SERIALIZATION_SOURCE
 #include <boost/serialization/extended_type_info.hpp>
 #include <boost/serialization/void_cast.hpp>
@@ -31,300 +33,242 @@
 namespace serialization {
 namespace void_cast_detail {
 
+#if 0
+// registry of casting objects
 struct void_caster_compare
 {
     bool
     operator()(
- shared_ptr<const void_caster> lhs,
- shared_ptr<const void_caster> rhs ) const
- {
- if( lhs.get()->m_derived_type < rhs.get()->m_derived_type )
+ const void_caster * lhs,
+ const void_caster * rhs
+ ) const {
+ if( lhs->m_derived < rhs->m_derived )
             return true;
-
- if( rhs.get()->m_derived_type < lhs.get()->m_derived_type)
- return false;
-
- if( lhs.get()->m_base_type < rhs.get()->m_base_type )
+ if( lhs->m_base < rhs->m_base )
             return true;
-
         return false;
     }
 };
 
-struct null_deleter
-{
- void operator()(void const *) const
- {}
-};
+typedef std::set<const void_caster *, void_caster_compare> set_type;
+#endif
 
-// it turns out that at least one compiler (msvc 6.0) doesn't guarentee
-// to destroy static objects in exactly the reverse sequence that they
-// are constructed. To guarentee this, use a singleton pattern
-class void_caster_registry
-{
- typedef shared_ptr<const void_caster> value_type;
- typedef std::set<value_type, void_caster_compare> set_type;
- set_type m_set;
- static void_caster_registry * m_self;
- static void_caster_registry *
- self(){
- if(NULL == m_self){
- static void_caster_registry instance;
- m_self = & instance;
- }
- return m_self;
- }
- void_caster_registry(){}
-public:
- ~void_caster_registry(){
- m_self = 0;
- }
- typedef set_type::iterator iterator;
- typedef set_type::const_iterator const_iterator;
- static iterator
- begin() {
- return self()->m_set.begin();
- }
- static iterator
- end() {
- return self()->m_set.end();
- }
- static const_iterator
- find(void_caster * vcp){
- return self()->m_set.find(value_type(vcp, null_deleter()));
- }
- static std::pair<iterator, bool>
- insert(const value_type & vcp){
- return self()->m_set.insert(vcp);
- }
- static bool
- empty(){
- if(NULL == m_self)
- return true;
- return m_self->m_set.empty();
- }
- static void
- purge(const extended_type_info * eti);
-};
+typedef std::vector<const void_caster *> set_type;
 
-void_caster_registry * void_caster_registry::m_self = NULL;
+typedef boost::serialization::singleton<set_type> void_caster_registry;
 
-void
-void_caster_registry::purge(const extended_type_info * eti){
- if(NULL == m_self)
- return;
- if(! empty()){
- iterator i = m_self->m_set.begin();
- while(i != m_self->m_set.end()){
- // note that the erase might invalidate i so save it here
- iterator j = i++;
- if((*j)->includes(eti))
- m_self->m_set.erase(j);
- }
- }
+inline bool
+void_caster::operator==(void_caster const & rhs) const{
+ if(m_derived != rhs.m_derived)
+ return false;
+ if(m_base != rhs.m_base)
+ return false;
+ return true;
 }
 
+// implementation of void caster base class
 BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
 void_caster::void_caster(
- extended_type_info const & derived_type_,
- extended_type_info const & base_type_
+ extended_type_info const & derived,
+ extended_type_info const & base
 ) :
- m_derived_type( derived_type_),
- m_base_type(base_type_)
+ m_derived(derived),
+ m_base(base)
 {}
 
-BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
-void_caster::~void_caster(){}
-
-bool
-void_caster::includes(const extended_type_info * eti) const {
- return & m_derived_type == eti || & m_base_type == eti;
+BOOST_SERIALIZATION_DECL(void)
+void_caster::static_register() const {
+ void_caster_registry::get_mutable_instance().push_back(this);
+ // to do - add new void_caster_derived entries
+ // which can be generated by adding this new primitive
+ /*
+ while(){
+ if(!extend_down(this)
+ && !extend_up(this))
+ break;
+ }
+ */
 }
 
-void BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
-void_caster::static_register(const void_caster * vcp)
-{
- void_caster_registry::insert(shared_ptr<const void_caster>(vcp, null_deleter()));
+BOOST_SERIALIZATION_DECL(void)
+void_caster::static_unregister() const {
+ void_cast_detail::set_type & st
+ = void_caster_registry::get_mutable_instance();
+ void_cast_detail::set_type::iterator it;
+ it = std::find(st.begin(), st.end(), this);
+ assert(st.end() != it);
+ st.erase(it);
+ // to do - remove all void_caster_derived entries
+ // which depend upon this primitive
+ /*
+ while(){
+ if(!truncate_down(this)
+ && !truncate_up(this))
+ break;
+ }
+ */
 }
 
+#if 0
+// implementation of shortcut void caster
 class void_caster_derived : public void_caster
 {
     std::ptrdiff_t difference;
- virtual void const*
- upcast( void const* t ) const{
- return static_cast<const char*> ( t ) + difference;
- }
- virtual void const*
- downcast( void const* t ) const{
- return static_cast<const char*> ( t ) - difference;
+ virtual void const *
+ upcast(void const * const t) const{
+ return static_cast<const char *> ( t ) + difference;
+ }
+ virtual void const *
+ downcast(void const * const t) const{
+ return static_cast<const char *> ( t ) - difference;
     }
 public:
     void_caster_derived(
- extended_type_info const& derived_type_,
- extended_type_info const& base_type_,
- std::ptrdiff_t difference_
+ extended_type_info const & derived,
+ extended_type_info const & base,
+ std::ptrdiff_t difference
     ) :
- void_caster(derived_type_, base_type_),
- difference( difference_ )
- {}
+ void_caster(derived, base),
+ difference( difference )
+ {
+ this->static_register();
+ }
+ ~void_caster_derived(){
+ this->static_unregister();
+ }
 };
+#endif
 
 // just used as a search key
 class void_caster_argument : public void_caster
 {
- virtual void const*
- upcast( void const* t ) const {
+ virtual void const *
+ upcast(void const * const t) const {
         assert(false);
         return NULL;
     }
- virtual void const*
- downcast( void const* t ) const {
+ virtual void const *
+ downcast( void const * const t) const {
         assert(false);
         return NULL;
     }
 public:
     void_caster_argument(
- extended_type_info const& derived_type_,
- extended_type_info const& base_type_
+ extended_type_info const & derived,
+ extended_type_info const & base
     ) :
- void_caster(derived_type_, base_type_)
+ void_caster(derived, base)
     {}
+ ~void_caster_argument(){};
 };
 
-} // namespace void_cast_detail
+struct match {
+ void_cast_detail::void_caster_argument const * const m_ca;
 
-void BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
-unregister_void_casts(extended_type_info *eti)
-{
- void_cast_detail::void_caster_registry::purge(eti);
-}
+ match(void_cast_detail::void_caster_argument const * const ca) :
+ m_ca(ca)
+ {}
+ bool operator()(const void_cast_detail::void_caster * vc){
+ return * vc == * m_ca;
+ };
+};
+
+} // namespace void_cast_detail
 
 // Given a void *, assume that it really points to an instance of one type
 // and alter it so that it would point to an instance of a related type.
 // Return the altered pointer. If there exists no sequence of casts that
 // can transform from_type to to_type, return a NULL.
-
-BOOST_SERIALIZATION_DECL(void const *)
+BOOST_SERIALIZATION_DECL(void const *)
 void_upcast(
- extended_type_info const & derived_type,
- extended_type_info const & base_type,
- void const * const t,
- bool top
+ extended_type_info const & derived,
+ extended_type_info const & base,
+ void const * const t
 ){
     // same types - trivial case
- if (derived_type == base_type)
+ if (derived == base)
         return t;
-
+
     // check to see if base/derived pair is found in the registry
- void_cast_detail::void_caster_argument ca(derived_type, base_type );
- void_cast_detail::void_caster_registry::const_iterator it;
- it = void_cast_detail::void_caster_registry::find( &ca );
+ const void_cast_detail::set_type & s
+ = void_cast_detail::void_caster_registry::get_const_instance();
+ void_cast_detail::set_type::const_iterator it;
+ void_cast_detail::void_caster_argument ca(derived, base);
+
+ it = std::find_if(
+ s.begin(),
+ s.end(),
+ void_cast_detail::match(& ca)
+ );
     
- const void * t_new = NULL;
-
     // if so
- if (it != void_cast_detail::void_caster_registry::end())
+ if (s.end() != it)
         // we're done
         return (*it)->upcast(t);
 
     // try to find a chain that gives us what we want
- for(
- it = void_cast_detail::void_caster_registry::begin();
- it != void_cast_detail::void_caster_registry::end();
- ++it
- ){
+ for(it = s.begin(); it != s.end(); ++it){
         // if the current candidate doesn't cast to the desired target type
- if ((*it)->m_base_type == base_type){
+ if((*it)->m_base == base){
             // if the current candidate casts from the desired source type
- if ((*it)->m_derived_type == derived_type){
+ if ((*it)->m_derived == derived){
                 // we have a base/derived match - we're done
                 // cast to the intermediate type
- t_new = (*it)->upcast(t);
- break;
- }
- t_new = void_upcast(derived_type, (*it)->m_derived_type, t, false);
- if (NULL != t_new){
- t_new = (*it)->upcast(t_new);
- assert(NULL != t_new);
- if(top){
- // register the this pair so we will have to go through
- // keep this expensive search process more than once.
- void_cast_detail::void_caster * vcp =
- new void_cast_detail::void_caster_derived(
- derived_type,
- base_type,
- static_cast<const char*>(t_new) - static_cast<const char*>(t)
- );
- void_cast_detail::void_caster_registry::insert(
- shared_ptr<const void_cast_detail::void_caster>(vcp)
- );
- }
- break;
+ return (*it)->upcast(t);
             }
+ const void * t_new;
+ t_new = void_upcast(derived, (*it)->m_derived, t);
+ if(NULL != t_new)
+ return (*it)->upcast(t_new);
         }
     }
- return t_new;
+ return NULL;
 }
 
-BOOST_SERIALIZATION_DECL(void const *)
+BOOST_SERIALIZATION_DECL(void const *)
 void_downcast(
- const extended_type_info & derived_type,
- const extended_type_info & base_type,
- const void * const t,
- bool top
+ extended_type_info const & derived,
+ extended_type_info const & base,
+ void const * const t
 ){
     // same types - trivial case
- if (derived_type == base_type)
+ if (derived == base)
         return t;
-
+
     // check to see if base/derived pair is found in the registry
- void_cast_detail::void_caster_argument ca(derived_type, base_type );
- void_cast_detail::void_caster_registry::const_iterator it;
- it = void_cast_detail::void_caster_registry::find( &ca );
-
+ const void_cast_detail::set_type & s
+ = void_cast_detail::void_caster_registry::get_const_instance();
+ void_cast_detail::set_type::const_iterator it;
+ void_cast_detail::void_caster_argument ca(derived, base);
+
+ it = std::find_if(
+ s.begin(),
+ s.end(),
+ void_cast_detail::match(& ca)
+ );
+
     // if so
- if (it != void_cast_detail::void_caster_registry::end())
+ if (s.end() != it)
         // we're done
- return (*it)->downcast(t);
+ return(*it)->downcast(t);
 
- const void * t_new = NULL;
     // try to find a chain that gives us what we want
- for(
- it = void_cast_detail::void_caster_registry::begin();
- it != void_cast_detail::void_caster_registry::end();
- ++it
- ){
- // if the current candidate doesn't casts from the desired target type
- if ((*it)->m_derived_type == derived_type){
- // if the current candidate casts to the desired source type
- if ((*it)->m_base_type == base_type){
+ for(it = s.begin(); it != s.end(); ++it){
+ // if the current candidate doesn't cast to the desired target type
+ if ((*it)->m_derived == derived){
+ // if the current candidate casts from the desired source type
+ if ((*it)->m_base == base){
                 // we have a base/derived match - we're done
                 // cast to the intermediate type
- t_new = (*it)->downcast(t);
- break;
- }
- t_new = void_downcast((*it)->m_base_type, base_type, t, false);
- if (NULL != t_new){
- t_new = (*it)->downcast(t_new);
- assert(NULL != t_new);
- if(top){
- // register the this pair so we will have to go through
- // keep this expensive search process more than once.
- void_cast_detail::void_caster * vcp =
- new void_cast_detail::void_caster_derived(
- derived_type,
- base_type,
- static_cast<const char*>(t) - static_cast<const char*>(t_new)
- );
- void_cast_detail::void_caster_registry::insert(
- shared_ptr<const void_cast_detail::void_caster>(vcp)
- );
- }
- break;
+ return (*it)->downcast(t);
             }
+ const void * t_new;
+ t_new = void_downcast((*it)->m_base, base, t);
+ if(NULL != t_new)
+ return (*it)->downcast(t_new);
         }
     }
- return t_new;
+ return NULL;
 }
 
 } // namespace serialization

Modified: branches/proto/v3/libs/serialization/src/xml_grammar.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/xml_grammar.cpp (original)
+++ branches/proto/v3/libs/serialization/src/xml_grammar.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -49,7 +49,7 @@
 
 template<>
 void xml_grammar::init_chset(){
- Char = chset_t("\x9\xA\xD\x20-\xFF");
+ Char = chset_t("\x9\xA\xD\x20-\x7f\x80\x81-\xFF");
     Letter = chset_t("\x41-\x5A\x61-\x7A\xC0-\xD6\xD8-\xF6\xF8-\xFF");
     Digit = chset_t("0-9");
     Extender = chset_t('\xB7');

Modified: branches/proto/v3/libs/serialization/src/xml_woarchive.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/src/xml_woarchive.cpp (original)
+++ branches/proto/v3/libs/serialization/src/xml_woarchive.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -26,6 +26,7 @@
 namespace boost {
 namespace archive {
 
+#if 0
 BOOST_WARCHIVE_DECL(std::wostream &)
 operator<<(std::wostream &os, const char *t){
     for(;;){
@@ -53,6 +54,7 @@
     os.put(wc);
     return os;
 }
+#endif
 
 template class basic_xml_oarchive<xml_woarchive> ;
 template class xml_woarchive_impl<xml_woarchive> ;

Modified: branches/proto/v3/libs/serialization/test/A.hpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/A.hpp (original)
+++ branches/proto/v3/libs/serialization/test/A.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -16,84 +16,97 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 
-#include <cassert>
-#include <cstdlib> // for rand()
-#include <cmath> // for fabs()
 #include <cstddef> // size_t
+#include <string>
+#include <ostream> // for friend output operators
 
 #include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
 
 #if defined(BOOST_NO_STDC_NAMESPACE)
 namespace std{
- using ::rand;
- using ::fabs;
     using ::size_t;
 }
 #endif
 
-//#include <boost/test/test_exec_monitor.hpp>
 #include <boost/limits.hpp>
 #include <boost/cstdint.hpp>
 
-#include <boost/detail/workaround.hpp>
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-#include <boost/archive/dinkumware.hpp>
+#include <boost/serialization/access.hpp>
+
+#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+ #include <boost/detail/workaround.hpp>
+ #if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
+ #include <boost/archive/dinkumware.hpp>
+ #endif
 #endif
 
 #include <boost/serialization/nvp.hpp>
 #include <boost/serialization/string.hpp>
-#include <boost/serialization/access.hpp>
 
-class A
+#ifndef DLL_DECL
+#define DLL_DECL
+#endif
+
+class DLL_DECL A
 {
 private:
     friend class boost::serialization::access;
     // note: from an aesthetic perspective, I would much prefer to have this
     // defined out of line. Unfortunately, this trips a bug in the VC 6.0
     // compiler. So hold our nose and put it her to permit running of tests.
+ // mscvc 6.0 requires template functions to be implemented. For this
+ // reason we can't make abstract.
+ #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+ template<class Archive>
+ void A::serialize(
+ Archive &ar,
+ const unsigned int /* file_version */
+ ){
+ ar & BOOST_SERIALIZATION_NVP(b);
+ #ifndef BOOST_NO_INT64_T
+ ar & BOOST_SERIALIZATION_NVP(f);
+ ar & BOOST_SERIALIZATION_NVP(g);
+ #endif
+ #if BOOST_WORKAROUND(__BORLANDC__, <= 0x551 )
+ int i;
+ if(Archive::is_saving::value){
+ i = l;
+ ar & BOOST_SERIALIZATION_NVP(i);
+ }
+ else{
+ ar & BOOST_SERIALIZATION_NVP(i);
+ l = i;
+ }
+ #else
+ ar & BOOST_SERIALIZATION_NVP(l);
+ #endif
+ ar & BOOST_SERIALIZATION_NVP(m);
+ ar & BOOST_SERIALIZATION_NVP(n);
+ ar & BOOST_SERIALIZATION_NVP(o);
+ ar & BOOST_SERIALIZATION_NVP(p);
+ ar & BOOST_SERIALIZATION_NVP(q);
+ #ifndef BOOST_NO_CWCHAR
+ ar & BOOST_SERIALIZATION_NVP(r);
+ #endif
+ ar & BOOST_SERIALIZATION_NVP(c);
+ ar & BOOST_SERIALIZATION_NVP(s);
+ ar & BOOST_SERIALIZATION_NVP(t);
+ ar & BOOST_SERIALIZATION_NVP(u);
+ ar & BOOST_SERIALIZATION_NVP(v);
+ ar & BOOST_SERIALIZATION_NVP(w);
+ ar & BOOST_SERIALIZATION_NVP(x);
+ ar & BOOST_SERIALIZATION_NVP(y);
+ #ifndef BOOST_NO_STD_WSTRING
+ ar & BOOST_SERIALIZATION_NVP(z);
+ #endif
+ }
+ #endif
     template<class Archive>
- void serialize(
+ DLL_DECL void serialize(
         Archive &ar,
         const unsigned int /* file_version */
- ){
- ar & BOOST_SERIALIZATION_NVP(b);
- #ifndef BOOST_NO_INT64_T
- ar & BOOST_SERIALIZATION_NVP(f);
- ar & BOOST_SERIALIZATION_NVP(g);
- #endif
- #if BOOST_WORKAROUND(__BORLANDC__, <= 0x551 )
- int i;
- if(Archive::is_saving::value){
- i = l;
- ar & BOOST_SERIALIZATION_NVP(i);
- }
- else{
- ar & BOOST_SERIALIZATION_NVP(i);
- l = i;
- }
- #else
- ar & BOOST_SERIALIZATION_NVP(l);
- #endif
- ar & BOOST_SERIALIZATION_NVP(m);
- ar & BOOST_SERIALIZATION_NVP(n);
- ar & BOOST_SERIALIZATION_NVP(o);
- ar & BOOST_SERIALIZATION_NVP(p);
- ar & BOOST_SERIALIZATION_NVP(q);
- #ifndef BOOST_NO_CWCHAR
- ar & BOOST_SERIALIZATION_NVP(r);
- #endif
- ar & BOOST_SERIALIZATION_NVP(c);
- ar & BOOST_SERIALIZATION_NVP(s);
- ar & BOOST_SERIALIZATION_NVP(t);
- ar & BOOST_SERIALIZATION_NVP(u);
- ar & BOOST_SERIALIZATION_NVP(v);
- ar & BOOST_SERIALIZATION_NVP(w);
- ar & BOOST_SERIALIZATION_NVP(x);
- ar & BOOST_SERIALIZATION_NVP(y);
- #ifndef BOOST_NO_STD_WSTRING
- ar & BOOST_SERIALIZATION_NVP(z);
- #endif
- }
+ );
     bool b;
     #ifndef BOOST_NO_INT64_T
     boost::int64_t f;
@@ -134,191 +147,4 @@
     friend std::istream & operator>>(std::istream & is, A & a);
 };
 
-#ifdef BOOST_TEST_DONT_PRINT_LOG_VALUE
-BOOST_TEST_DONT_PRINT_LOG_VALUE(A)
-#endif
-
-template<class S>
-void randomize(S &x)
-{
- assert(0 == x.size());
- for(;;){
- unsigned int i = std::rand() % 27;
- if(0 == i)
- break;
- x += static_cast<typename S::value_type>('a' - 1 + i);
- }
-}
-
-template<class T>
-void accumulate(std::size_t & s, const T & t){
- const char * tptr = (const char *)(& t);
- unsigned int count = sizeof(t);
- while(count-- > 0){
- s += *tptr++;
- }
-}
-
-A::operator std::size_t () const {
- std::size_t retval = 0;
- accumulate(retval, b);
- #ifndef BOOST_NO_INT64_T
- accumulate(retval, f);
- accumulate(retval, g);
- #endif
- accumulate(retval, l);
- accumulate(retval, m);
- accumulate(retval, n);
- accumulate(retval, o);
- accumulate(retval, p);
- accumulate(retval, q);
- #ifndef BOOST_NO_CWCHAR
- accumulate(retval, r);
- #endif
- accumulate(retval, c);
- accumulate(retval, s);
- accumulate(retval, t);
- accumulate(retval, u);
- accumulate(retval, v);
- return retval;
-}
-
-inline A::A() :
- b(true),
- #ifndef BOOST_NO_INT64_T
- f(std::rand() * std::rand()),
- g(std::rand() * std::rand()),
- #endif
- l(static_cast<enum h>(std::rand() % 3)),
- m(std::rand()),
- n(std::rand()),
- o(std::rand()),
- p(std::rand()),
- q(std::rand()),
- #ifndef BOOST_NO_CWCHAR
- r(std::rand()),
- #endif
- c(std::rand()),
- s(std::rand()),
- t(std::rand()),
- u(std::rand()),
- v(std::rand()),
- w((float)std::rand()),
- x((double)std::rand())
-{
- randomize(y);
- #ifndef BOOST_NO_STD_WSTRING
- randomize(z);
- #endif
-}
-
-inline bool A::operator==(const A &rhs) const
-{
- if(b != rhs.b)
- return false;
- if(l != rhs.l)
- return false;
- #ifndef BOOST_NO_INT64_T
- if(f != rhs.f)
- return false;
- if(g != rhs.g)
- return false;
- #endif
- if(m != rhs.m)
- return false;
- if(n != rhs.n)
- return false;
- if(o != rhs.o)
- return false;
- if(p != rhs.p)
- return false;
- if(q != rhs.q)
- return false;
- #ifndef BOOST_NO_CWCHAR
- if(r != rhs.r)
- return false;
- #endif
- if(c != rhs.c)
- return false;
- if(s != rhs.s)
- return false;
- if(t != rhs.t)
- return false;
- if(u != rhs.u)
- return false;
- if(v != rhs.v)
- return false;
- if(w == 0 && std::fabs(rhs.w) > std::numeric_limits<float>::epsilon())
- return false;
- if(std::fabs(rhs.w/w - 1.0) > std::numeric_limits<float>::epsilon())
- return false;
- if(x == 0 && std::fabs(rhs.x - x) > std::numeric_limits<float>::epsilon())
- return false;
- if(std::fabs(rhs.x/x - 1.0) > std::numeric_limits<float>::epsilon())
- return false;
- if(0 != y.compare(rhs.y))
- return false;
- #ifndef BOOST_NO_STD_WSTRING
- if(0 != z.compare(rhs.z))
- return false;
- #endif
- return true;
-}
-
-inline bool A::operator!=(const A &rhs) const
-{
- return ! (*this == rhs);
-}
-
-inline bool A::operator<(const A &rhs) const
-{
- if(b != rhs.b)
- return b < rhs.b;
- #ifndef BOOST_NO_INT64_T
- if(f != rhs.f)
- return f < rhs.f;
- if(g != rhs.g)
- return g < rhs.g;
- #endif
- if(l != rhs.l )
- return l < rhs.l;
- if(m != rhs.m )
- return m < rhs.m;
- if(n != rhs.n )
- return n < rhs.n;
- if(o != rhs.o )
- return o < rhs.o;
- if(p != rhs.p )
- return p < rhs.p;
- if(q != rhs.q )
- return q < rhs.q;
- #ifndef BOOST_NO_CWCHAR
- if(r != rhs.r )
- return r < rhs.r;
- #endif
- if(c != rhs.c )
- return c < rhs.c;
- if(s != rhs.s )
- return s < rhs.s;
- if(t != rhs.t )
- return t < rhs.t;
- if(u != rhs.u )
- return u < rhs.u;
- if(v != rhs.v )
- return v < rhs.v;
- if(w != rhs.w )
- return w < rhs.w;
- if(x != rhs.x )
- return x < rhs.x;
- int i = y.compare(rhs.y);
- if(i != 0 )
- return i < 0;
- #ifndef BOOST_NO_STD_WSTRING
- int j = z.compare(rhs.z);
- if(j != 0 )
- return j < 0;
- #endif
- return false;
-}
-
 #endif // BOOST_SERIALIZATION_TEST_A_HPP

Modified: branches/proto/v3/libs/serialization/test/B.hpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/B.hpp (original)
+++ branches/proto/v3/libs/serialization/test/B.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -109,39 +109,4 @@
     ;
 }
 
-#if 0
-template<class Archive>
-void inline B::save(Archive &ar, const unsigned int /* file_version */) const
-{
- // write any base class info to the archive
- ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
-
- // write out members
- ar << BOOST_SERIALIZATION_NVP(s);
- ar << BOOST_SERIALIZATION_NVP(t);
- ar << BOOST_SERIALIZATION_NVP(u);
- ar << BOOST_SERIALIZATION_NVP(v);
- ar << BOOST_SERIALIZATION_NVP(w);
- ar << BOOST_SERIALIZATION_NVP(x);
-}
-
-template<class Archive>
-inline void B::load(Archive & ar, const unsigned int file_version)
-{
- // read any base class info to the archive
- ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
- switch(file_version){
- case 1:
- case 2:
- ar >> BOOST_SERIALIZATION_NVP(s);
- ar >> BOOST_SERIALIZATION_NVP(t);
- ar >> BOOST_SERIALIZATION_NVP(u);
- ar >> BOOST_SERIALIZATION_NVP(v);
- ar >> BOOST_SERIALIZATION_NVP(w);
- ar >> BOOST_SERIALIZATION_NVP(x);
- default:
- break;
- }
-}
-#endif
 #endif // BOOST_SERIALIZATION_TEST_B_HPP

Modified: branches/proto/v3/libs/serialization/test/Jamfile.v2
==============================================================================
--- branches/proto/v3/libs/serialization/test/Jamfile.v2 (original)
+++ branches/proto/v3/libs/serialization/test/Jamfile.v2 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -6,295 +6,113 @@
 # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 #
 
-project libs/serialization/test ;
-
-# these are used to shorten testing while in development. It permits
-# testing to be applied to just a particular type of archive
-if ! $(BOOST_ARCHIVE_LIST) {
- BOOST_ARCHIVE_LIST =
- "text_archive.hpp"
- "text_warchive.hpp"
- "binary_archive.hpp"
- "xml_archive.hpp"
- "xml_warchive.hpp"
+project libs/serialization/test
+ : id serialization_test
     ;
- # enable the tests which don't depend on a particular archive
- BOOST_SERIALIZATION_TEST = true ;
-}
-
-
-rule run-template ( test-name : sources * : requirements * ) {
- return [
- run
- $(sources)
- : # command
- : # input files
- : # requirements
- # FIXME: Not ported yet.
- #std::locale-support
- #toolset::suppress-warnings
- #toolset::optimizations
- $(requirements)
- : # test name
- $(test-name)
- : # default-build
- debug
- ] ;
-}
-
-# Given a name of test, return the 'save' test that must be run
-# before the named test, or empty string if there's no such test.
-rule dependency-save-test ( test )
-{
- local m = [ MATCH (.*)load(.*) : $(test) ] ;
- if $(m)
- {
- return $(m[1])save$(m[2]) ;
- }
-}
-
-# each of the following tests is run with each type of archive
-rule run-invoke ( test-name : sources * : defns * )
-{
- local save-test = [ dependency-save-test $(test-name) ] ;
-
- local tests ;
- tests += [
- run-template $(test-name)
- : # sources
- $(sources)
- ../build//boost_serialization/<link>static
- : # requirements
- # msvc stlport 4.5.3 only works with static lib
- <toolset>msvc,<stdlib>stlport:<runtime-link>static
- <define>$(defns)
- <define>BOOST_LIB_DIAGNOSTIC=1
- <dependency>$(save-test)
- ] ;
- tests += [
- run-template $(test-name)_dll
- : # sources
- $(sources)
- ../build//boost_serialization
- : # requirements
- # FIXME:
- # toolset::require-shared-libraries-support
- <define>$(defns)
- <define>BOOST_LIB_DIAGNOSTIC=1
- <define>BOOST_ALL_DYN_LINK=1
- <runtime-link>shared
- <dependency>$(save-test)_dll
- ] ;
- return $(tests) ;
-}
-
-# each of the following tests is run with each type of archive
-rule run-winvoke ( test-name : sources * : defns * )
-{
- local save-test = [ dependency-save-test $(test-name) ] ;
-
- local tests ;
- tests += [
- run-template $(test-name)
- : # sources
- $(sources)
- ../build//boost_serialization/<link>static
- ../build//boost_wserialization/<link>static
- : # requirements
-
- # FIXME:
- # toolset::require-wide-char-io-support
- <define>$(defns)
- <define>BOOST_LIB_DIAGNOSTIC=1
- # msvc stlport 4.5.3 only works with static lib
- <toolset>msvc,<stdlib>stlport:<runtime-link>static
- # both stlport and msvc6 define iswspace
- <toolset>msvc,<stdlib>stlport:<linkflags>"-force:multiple"
- <dependency>$(save-test)
- ] ;
- tests += [
- run-template $(test-name)_dll
- : # sources
- $(sources)
- ../build//boost_serialization
- ../build//boost_wserialization
- : # requirements
- # FIXME
- # toolset::require-wide-char-io-support
- # toolset::require-shared-libraries-support
- <define>$(defns)
- <define>BOOST_LIB_DIAGNOSTIC=1
- <define>BOOST_ALL_DYN_LINK=1
- <runtime-link>shared
- <dependency>$(save-test)_dll
- ] ;
- return $(tests) ;
-}
-
-# for tests which don't use library code - usually just headers
-rule test-bsl-run-no-lib ( test-name : sources * )
-{
- local tests ;
- tests += [
- run-template $(test-name)
- : # sources
- $(test-name).cpp $(sources).cpp
- : # requirements
- <toolset>msvc,<stdlib>stlport:<runtime-link>static
-
- ] ;
-}
 
-rule test-bsl-run ( test-name : sources * )
-{
- local tests ;
- tests += [
- run-invoke $(test-name)
- :
- $(test-name).cpp $(sources).cpp
- ] ;
- return $(tests) ;
-}
+# import rules from the boost serialization test
+# import ../util/test : test-bsl-run-no-lib ;
+import ../util/test :
+ run-template
+ run-invoke
+ run-winvoke
+ test-bsl-run-no-lib
+ test-bsl-run
+ test-bsl-run_archive
+ test-bsl-run_files
+ test-bsl-run_polymorphic_archive
+;
 
-rule test-bsl-run_archive ( test-name : archive-name : sources * ) {
- local tests ;
- switch $(archive-name) {
- case "*_warchive" :
- tests += [
- run-winvoke $(test-name)_$(archive-name)
- :
- $(sources).cpp
- :
- BOOST_ARCHIVE_TEST=$(archive-name).hpp
- ] ;
- case "*" :
- tests += [
- run-invoke $(test-name)_$(archive-name)
- :
- $(sources).cpp
- :
- BOOST_ARCHIVE_TEST=$(archive-name).hpp
- ] ;
- }
- return $(tests) ;
-}
-
-rule test-bsl-run_files ( test-name : sources * ) {
- local tests ;
- for local defn in $(BOOST_ARCHIVE_LIST) {
- tests += [
- test-bsl-run_archive $(test-name)
- : $(defn:LB)
- : $(test-name) $(sources)
- ] ;
- }
- return $(tests) ;
-}
-
-rule test-bsl-run_polymorphic_archive ( test-name : sources * ) {
- local tests ;
- for local defn in $(BOOST_ARCHIVE_LIST) {
- tests += [
- test-bsl-run_archive test
- : polymorphic_$(defn:LB)
- : test_polymorphic $(sources)
- ] ;
- }
- return $(tests) ;
-}
+BOOST_ARCHIVE_LIST = [ modules.peek : BOOST_ARCHIVE_LIST ] ;
 
 test-suite "serialization" :
- [ test-bsl-run_files test_array ]
+ [ test-bsl-run_files test_array : A ]
      [ test-bsl-run_files test_binary ]
      [ test-bsl-run_files test_complex ]
- [ test-bsl-run_files test_contained_class ]
- [ test-bsl-run_files test_cyclic_ptrs ]
+ [ test-bsl-run_files test_contained_class : A ]
+ [ test-bsl-run_files test_cyclic_ptrs : A ]
      [ test-bsl-run_files test_delete_pointer ]
- [ test-bsl-run_files test_deque ]
- [ test-bsl-run_files test_derived ]
- [ test-bsl-run_files test_derived_class ]
- [ test-bsl-run_files test_derived_class_ptr ]
+ [ test-bsl-run_files test_deque : A ]
+ # [ test-bsl-run_files test_derived ]
+ [ test-bsl-run_files test_derived_class : A ]
+ [ test-bsl-run_files test_derived_class_ptr : A ]
      [ test-bsl-run_files test_diamond ]
      [ test-bsl-run_files test_exported ]
      [ test-bsl-run_files test_class_info_load ]
      [ test-bsl-run_files test_class_info_save ]
      [ test-bsl-run_files test_object ]
      [ test-bsl-run_files test_primitive ]
- [ test-bsl-run_files test_list ]
- [ test-bsl-run_files test_list_ptrs ]
- [ test-bsl-run_files test_map ]
+ [ test-bsl-run_files test_list : A ]
+ [ test-bsl-run_files test_list_ptrs : A ]
+ [ test-bsl-run_files test_map : A ]
      [ test-bsl-run_files test_mi ]
- [ test-bsl-run_files test_multiple_ptrs ]
+ [ test-bsl-run_files test_multiple_ptrs : A ]
      [ test-bsl-run_files test_no_rtti ]
      [ test-bsl-run_files test_non_intrusive ]
      [ test-bsl-run_files test_non_default_ctor ]
      [ test-bsl-run_files test_non_default_ctor2 ]
      [ test-bsl-run_files test_null_ptr ]
- [ test-bsl-run_files test_nvp ]
- [ test-bsl-run_files test_recursion ]
+ [ test-bsl-run_files test_nvp : A ]
+ [ test-bsl-run_files test_recursion : A ]
      [ test-bsl-run_files test_registered ]
- [ test-bsl-run_files test_set ]
- [ test-bsl-run_files test_simple_class ]
- [ test-bsl-run_files test_simple_class_ptr ]
+ [ test-bsl-run_files test_set : A ]
+ [ test-bsl-run_files test_simple_class : A ]
+ [ test-bsl-run_files test_simple_class_ptr : A ]
      [ test-bsl-run_files test_split ]
      [ test-bsl-run_files test_tracking ]
      [ test-bsl-run_files test_unregistered ]
      [ test-bsl-run_files test_valarray ]
- [ test-bsl-run_files test_variant ]
- [ test-bsl-run_files test_vector ]
+ [ test-bsl-run_files test_variant : A ]
+ [ test-bsl-run_files test_vector : A ]
      [ test-bsl-run_files test_optional ]
      [ test-bsl-run_files test_shared_ptr ]
      [ test-bsl-run_files test_shared_ptr_132 ]
- [ test-bsl-run_polymorphic_archive test_polymorphic : test_polymorphic_A ]
+ [ test-bsl-run_polymorphic_archive test_polymorphic : test_polymorphic_A A ]
 ;
 
-if $(BOOST_SERIALIZATION_TEST) {
+if ! $(BOOST_ARCHIVE_LIST) {
     test-suite "serialization2" :
- [ test-bsl-run-no-lib test_iterators ]
- [ test-bsl-run-no-lib test_iterators_base64 ]
- [ test-bsl-run-no-lib test_inclusion ]
         [ test-bsl-run test_private_ctor ]
- [ test-bsl-run test_reset_object_address ]
- [ test-bsl-run-no-lib test_smart_cast ]
- [ test-bsl-run-no-lib test_static_warning ]
- [ test-bsl-run-no-lib test_utf8_codecvt : ../src/utf8_codecvt_facet ]
+ [ test-bsl-run test_reset_object_address : A ]
         [ test-bsl-run test_void_cast ]
         [ test-bsl-run test_mult_archive_types ]
- [ test-bsl-run-no-lib test_codecvt_null : ../src/codecvt_null ]
-
- # demos
- [ test-bsl-run test_demo ]
- [ test-bsl-run test_demo_auto_ptr ]
- [ test-bsl-run test_demo_exception ]
- [ test-bsl-run test_demo_fast_archive ]
- [ test-bsl-run test_demo_pimpl : ../example/demo_pimpl_A ]
- [ test-bsl-run test_demo_polymorphic : ../example/demo_polymorphic_A ]
- [ test-bsl-run test_demo_portable_archive ]
- [ test-bsl-run test_demo_shared_ptr ]
- [ test-bsl-run test_demo_xml ]
- [ test-bsl-run test_demo_xml_load ]
- [ test-bsl-run test_demo_xml_save ]
+
+ [ test-bsl-run-no-lib test_iterators ]
+ [ test-bsl-run-no-lib test_iterators_base64 ]
+ [ test-bsl-run-no-lib test_inclusion ]
+ [ test-bsl-run-no-lib test_smart_cast ]
+
+ [ test-bsl-run-no-lib test_utf8_codecvt
+ : ../src/utf8_codecvt_facet
+ : <dependency>../../config/test//BOOST_NO_STD_WSTREAMBUF
+ ]
+ [ test-bsl-run-no-lib test_codecvt_null
+ : ../src/codecvt_null
+ : <dependency>../../config/test//BOOST_NO_STD_WSTREAMBUF
+ ]
 
         # should fail compilation
- [ compile-fail test_not_serializable.cpp ] # FIXME std:locale-support ]
- [ compile-fail test_traits_fail.cpp ] # FIXME std:locale-support ]
- [ compile-fail test_const_save_fail1.cpp ] # FIXME std:locale-support ]
- [ compile-fail test_const_save_fail2.cpp ] # FIXME std:locale-support ]
- [ compile-fail test_const_save_fail3.cpp ] # FIXME std:locale-support ]
+ [ compile-fail test_not_serializable.cpp ]
+ [ compile-fail test_traits_fail.cpp ]
+ [ compile-fail test_const_load_fail1.cpp ]
+ [ compile-fail test_const_load_fail2.cpp ]
+ [ compile-fail test_const_load_fail3.cpp ]
+ [ compile-fail test_const_load_fail1_nvp.cpp ]
+ [ compile-fail test_const_load_fail2_nvp.cpp ]
+ [ compile-fail test_const_load_fail3_nvp.cpp ]
+
+ # should compile with a warning message
+ [ compile test_static_warning.cpp ]
+ [ compile test_const_save_warn1.cpp ]
+ [ compile test_const_save_warn2.cpp ]
+ [ compile test_const_save_warn3.cpp ]
         # note - library unable to detect these errors for now
- #[ compile-fail test_const_save_fail1_nvp.cpp ]
- #[ compile-fail test_const_save_fail2_nvp.cpp ]
- #[ compile-fail test_const_save_fail3_nvp.cpp ]
- [ compile-fail test_const_load_fail1.cpp ] # FIXME std:locale-support ]
- [ compile-fail test_const_load_fail2.cpp ] # FIXME std:locale-support ]
- [ compile-fail test_const_load_fail3.cpp ] # FIXME std:locale-support ]
- [ compile-fail test_const_load_fail1_nvp.cpp ] # FIXME std:locale-support ]
- [ compile-fail test_const_load_fail2_nvp.cpp ] # FIXME std:locale-support ]
- [ compile-fail test_const_load_fail3_nvp.cpp ] # FIXME std:locale-support ]
-
+ #[ compile test_const_save_warn1_nvp.cpp ]
+ #[ compile test_const_save_warn2_nvp.cpp ]
+ #[ compile test_const_save_warn3_nvp.cpp ]
+
         # should compile
- [ compile test_traits_pass.cpp ] # FIXME std:locale-support ]
- [ compile test_const_pass.cpp ] # FIXME std:locale-support ]
+ [ compile test_traits_pass.cpp ]
+ [ compile test_const_pass.cpp ]
     ;
-
 }

Modified: branches/proto/v3/libs/serialization/test/binary_archive.hpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/binary_archive.hpp (original)
+++ branches/proto/v3/libs/serialization/test/binary_archive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -15,8 +15,10 @@
 #include <boost/archive/binary_oarchive.hpp>
 typedef boost::archive::binary_oarchive test_oarchive;
 typedef std::ofstream test_ostream;
+
 #include <boost/archive/binary_iarchive.hpp>
 typedef boost::archive::binary_iarchive test_iarchive;
 typedef std::ifstream test_istream;
-#define TEST_STREAM_FLAGS std::ios::binary
 
+//#define TEST_STREAM_FLAGS (std::ios::binary | std::ios::in | std::ios::out)
+#define TEST_STREAM_FLAGS (std::ios::binary)

Modified: branches/proto/v3/libs/serialization/test/polymorphic_text_archive.hpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/polymorphic_text_archive.hpp (original)
+++ branches/proto/v3/libs/serialization/test/polymorphic_text_archive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -10,4 +10,3 @@
 #include <boost/archive/polymorphic_text_iarchive.hpp>
 typedef boost::archive::polymorphic_text_iarchive test_iarchive;
 typedef std::ifstream test_istream;
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0

Modified: branches/proto/v3/libs/serialization/test/polymorphic_text_warchive.hpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/polymorphic_text_warchive.hpp (original)
+++ branches/proto/v3/libs/serialization/test/polymorphic_text_warchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -14,5 +14,4 @@
 #include <boost/archive/polymorphic_text_wiarchive.hpp>
 typedef boost::archive::polymorphic_text_wiarchive test_iarchive;
 typedef std::wifstream test_istream;
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0
 #endif
\ No newline at end of file

Modified: branches/proto/v3/libs/serialization/test/polymorphic_xml_archive.hpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/polymorphic_xml_archive.hpp (original)
+++ branches/proto/v3/libs/serialization/test/polymorphic_xml_archive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -10,4 +10,3 @@
 #include <boost/archive/polymorphic_xml_iarchive.hpp>
 typedef boost::archive::polymorphic_xml_iarchive test_iarchive;
 typedef std::ifstream test_istream;
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0

Modified: branches/proto/v3/libs/serialization/test/polymorphic_xml_warchive.hpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/polymorphic_xml_warchive.hpp (original)
+++ branches/proto/v3/libs/serialization/test/polymorphic_xml_warchive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -10,4 +10,3 @@
 #include <boost/archive/polymorphic_xml_wiarchive.hpp>
 typedef boost::archive::polymorphic_xml_wiarchive test_iarchive;
 typedef std::wifstream test_istream;
-#define TEST_STREAM_FLAGS (std::ios_base::openmode)0

Modified: branches/proto/v3/libs/serialization/test/portable_binary_archive.hpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/portable_binary_archive.hpp (original)
+++ branches/proto/v3/libs/serialization/test/portable_binary_archive.hpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -3,9 +3,12 @@
 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-// See http://www.boost.org for updates, documentation, and revision history.// file includes for testing a custom archive.
+// See http://www.boost.org for updates, documentation, and revision history.
+// file includes for testing a custom archive.
 // as an example this tests the portable binary archive
 
+#include <fstream>
+
 // #include output archive header
 #include "../example/portable_binary_oarchive.hpp"
 // define output archive class to be used
@@ -18,5 +21,11 @@
 typedef portable_binary_iarchive test_iarchive;
 typedef std::ifstream test_istream;
 
+// since this archive class isn't compiled into the
+// boost serialization library, include this here
+// so that things get instantiated
+#include "../example/portable_binary_oarchive.cpp"
+#include "../example/portable_binary_iarchive.cpp"
+
 // and stream open flags
 #define TEST_STREAM_FLAGS std::ios::binary

Deleted: branches/proto/v3/libs/serialization/test/run_archive_test.bat
==============================================================================
--- branches/proto/v3/libs/serialization/test/run_archive_test.bat 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,8 +0,0 @@
-@ echo off
-if "%1" == "" goto message
- set BOOST_ARCHIVE_LIST=%1
- runtest.bat %2 %3 %4
- goto end
-:message
- echo usage: run_archive_test "<test header file>" "<toolset>" "[<boost root directory>]" "[<target directory>]"
-:end

Deleted: branches/proto/v3/libs/serialization/test/run_archive_test.ksh
==============================================================================
--- branches/proto/v3/libs/serialization/test/run_archive_test.ksh 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,8 +0,0 @@
-if test $# -eq 0
-then
- echo "usage: $0 <test header file> <toolset> [<target>]"
-else
- export BOOST_ARCHIVE_LIST=$1
- runtest.ksh $2 $3
-fi
-

Deleted: branches/proto/v3/libs/serialization/test/runtest.bat
==============================================================================
--- branches/proto/v3/libs/serialization/test/runtest.bat 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,19 +0,0 @@
-@ echo off
-if "%1" == "" goto message
- if "%2" == "" goto 1
- set BOOST_ROOT=%2
- if "%3" == "" goto 1
- set ALL_LOCATE_TARGET=%3
- :1
- if "%BOOST_ROOT%" == "" goto message
- if not "%ALL_LOCATE_TARGET%" == "" goto 2
- set ALL_LOCATE_TARGET=%BOOST_ROOT%
- :2
- echo Running tests for %1 on %BOOST_ROOT% to %ALL_LOCATE_TARGET%
- bjam --dump-test -sTOOLS=%1 test >bjam.log 2>&1
- process_jam_log <bjam.log %ALL_LOCATE_TARGET%
- compiler_status2 --locate-root %ALL_LOCATE_TARGET% %BOOST_ROOT% compiler_status.html links.html
- goto end
-:message
- echo usage: runtest "<toolset>" "<boost root directory>" "[<target directory>]"
-:end

Deleted: branches/proto/v3/libs/serialization/test/runtest.ksh
==============================================================================
--- branches/proto/v3/libs/serialization/test/runtest.ksh 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,24 +0,0 @@
-if test $# -eq 0
-then
- echo "usage: $0 <toolset> [<target]>"
-else
- if test "$BOOST_ROOT" == ""
- then
- set +A BOOST_ROOT `dirname $PWD`
- set +A BOOST_ROOT `dirname $BOOST_ROOT`
- set +A BOOST_ROOT `dirname $BOOST_ROOT`
- fi
- if test "$2" != ""
- then
- export ALL_LOCATE_TARGET=$2
- fi
- if test "$ALL_LOCATE_TARGET" == ""
- then
- export ALL_LOCATE_TARGET=$BOOST_ROOT
- fi
- export BOOST_ROOT
- echo Running tests for $1 on $BOOST_ROOT to $ALL_LOCATE_TARGET
- bjam --dump-test -sTOOLS=$1 test >bjam.log 2>&1
- process_jam_log <bjam.log $ALL_LOCATE_TARGET
- compiler_status2 --locate-root $ALL_LOCATE_TARGET $BOOST_ROOT compiler_status.html links.html
-fi

Deleted: branches/proto/v3/libs/serialization/test/runtest.sh
==============================================================================
--- branches/proto/v3/libs/serialization/test/runtest.sh 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,31 +0,0 @@
-#!/bin/bash
-if test $# -eq 0
-then
- echo "usage: $0 <toolset>" "[<boost root directory>]" "[<target directory>]"
-else
- echo "Running tests for $1"
- if [ ! "$2" = "" ]
- then
- export BOOST_ROOT=$2
- if [ ! "$3" == "" ]
- then
- export ALL_LOCATE_TARGET=$3
- fi
- else
- if [ "$BOOST_ROOT" = "" ]
- then
- set BOOST_ROOT `dirname $PWD`
- set BOOST_ROOT `dirname $BOOST_ROOT`
- set BOOST_ROOT `dirname $BOOST_ROOT`
- export BOOST_ROOT
- fi
- fi
-
- if [ "$ALL_LOCATE_TARGET" == "" ]
- then
- export ALL_LOCATE_TARGET=$BOOST_ROOT
- fi
- bjam --dump-test -sTOOLS=$1 test >bjam.log 2>&1
- process_jam_log <bjam.log $ALL_LOCATE_TARGET
- compiler_status2 --locate-root $ALL_LOCATE_TARGET $BOOST_ROOT compiler_status.html links.html
-fi

Modified: branches/proto/v3/libs/serialization/test/test_array.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_array.cpp (original)
+++ branches/proto/v3/libs/serialization/test/test_array.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,13 +18,11 @@
 #endif
 
 #include "test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
 #include <boost/detail/no_exceptions_support.hpp>
 #include <boost/archive/archive_exception.hpp>
 
-#include <boost/serialization/nvp.hpp>
 #include "A.hpp"
+#include "A.ipp"
 
 struct array_equal_to //: public std::binary_function<T, T, bool>
 {
@@ -61,13 +59,13 @@
     const T a_array[10]={T(),T(),T(),T(),T(),T(),T(),T(),T(),T()};
     {
         test_ostream os(testfile, TEST_STREAM_FLAGS);
- test_oarchive oa(os);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
         oa << boost::serialization::make_nvp("a_array", a_array);
     }
     {
         T a_array1[10];
         test_istream is(testfile, TEST_STREAM_FLAGS);
- test_iarchive ia(is);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
         ia >> boost::serialization::make_nvp("a_array", a_array1);
 
         array_equal_to/*<A[10]>*/ Compare;
@@ -77,7 +75,7 @@
         T a_array1[9];
         test_istream is(testfile, TEST_STREAM_FLAGS);
         BOOST_TRY {
- test_iarchive ia(is);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
             bool exception_invoked = false;
             BOOST_TRY {
                 ia >> boost::serialization::make_nvp("a_array", a_array1);

Modified: branches/proto/v3/libs/serialization/test/test_binary.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_binary.cpp (original)
+++ branches/proto/v3/libs/serialization/test/test_binary.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -21,8 +21,6 @@
 #endif
 
 #include "test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
 
 #include <boost/serialization/nvp.hpp>
 #include <boost/serialization/binary_object.hpp>
@@ -71,7 +69,7 @@
     int i1 = 34790;
     {
         test_ostream os(testfile, TEST_STREAM_FLAGS);
- test_oarchive oa(os);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
         oa << BOOST_SERIALIZATION_NVP(a);
         // note: add a little bit on the end of the archive to detect
         // failure of text mode binary.
@@ -79,7 +77,7 @@
     }
     {
         test_istream is(testfile, TEST_STREAM_FLAGS);
- test_iarchive ia(is);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
         ia >> BOOST_SERIALIZATION_NVP(a1);
         ia >> BOOST_SERIALIZATION_NVP(i1);
     }

Modified: branches/proto/v3/libs/serialization/test/test_class_info_load.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_class_info_load.cpp (original)
+++ branches/proto/v3/libs/serialization/test/test_class_info_load.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -15,8 +15,6 @@
 #include <boost/archive/tmpdir.hpp>
 #include <boost/preprocessor/stringize.hpp>
 #include "test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
 
 #include <boost/static_assert.hpp>
 #include <boost/serialization/level.hpp>
@@ -65,7 +63,7 @@
 void in(const char *testfile, A & a, B & b)
 {
     test_istream is(testfile, TEST_STREAM_FLAGS);
- test_iarchive ia(is);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
     ia >> BOOST_SERIALIZATION_NVP(a);
     ia >> BOOST_SERIALIZATION_NVP(a);
     BOOST_CHECK(a.count == 2); // no tracking => redundant loads

Modified: branches/proto/v3/libs/serialization/test/test_class_info_save.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_class_info_save.cpp (original)
+++ branches/proto/v3/libs/serialization/test/test_class_info_save.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -16,8 +16,6 @@
 #include <boost/archive/tmpdir.hpp>
 #include <boost/preprocessor/stringize.hpp>
 #include "test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
 
 #include <boost/serialization/level.hpp>
 #include <boost/serialization/version.hpp>
@@ -69,7 +67,7 @@
 void out(const char *testfile, const A & a, const B & b)
 {
     test_ostream os(testfile, TEST_STREAM_FLAGS);
- test_oarchive oa(os);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
     // write object twice to check tracking
     oa << BOOST_SERIALIZATION_NVP(a);
     oa << BOOST_SERIALIZATION_NVP(a);

Modified: branches/proto/v3/libs/serialization/test/test_complex.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_complex.cpp (original)
+++ branches/proto/v3/libs/serialization/test/test_complex.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -11,10 +11,13 @@
 #include <fstream>
 
 #include <cstdio> // remove
+#include <cstdlib> // rand
+#include <limits>
 #include <boost/config.hpp>
 #if defined(BOOST_NO_STDC_NAMESPACE)
 namespace std{
     using ::remove;
+ using ::numeric_limits;
 }
 #endif
 
@@ -30,12 +33,14 @@
     BOOST_REQUIRE(NULL != testfile);
 
     // test array of objects
- std::complex<float> a(static_cast<float>(std::rand()),
- static_cast<float>(std::rand()));
-
- std::complex<double> b(static_cast<double>(std::rand()),
- static_cast<double>(std::rand()));
-
+ std::complex<float> a(
+ static_cast<float>(std::rand()),
+ static_cast<float>(std::rand())
+ );
+ std::complex<double> b(
+ static_cast<double>(std::rand()),
+ static_cast<double>(std::rand())
+ );
     {
         test_ostream os(testfile, TEST_STREAM_FLAGS);
         test_oarchive oa(os);
@@ -50,10 +55,10 @@
         ia >> boost::serialization::make_nvp("afloatcomplex", a1);
         ia >> boost::serialization::make_nvp("adoublecomplex", b1);
     }
- bool equal = (std::abs(a-a1) <= 2.*std::numeric_limits<float>::round_error()
- && std::abs(b-b1) <= 2.*std::numeric_limits<double>::round_error() );
-
- BOOST_CHECK(equal);
+
+ BOOST_CHECK(std::abs(a-a1) <= 2.*std::numeric_limits<float>::round_error());
+ BOOST_CHECK(std::abs(b-b1) <= 2.*std::numeric_limits<double>::round_error());
+
     std::remove(testfile);
     return EXIT_SUCCESS;
 }

Deleted: branches/proto/v3/libs/serialization/test/test_const_save_fail1.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_const_save_fail1.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,25 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-
-using namespace boost::archive;
-
-struct A {
- template<class Archive>
- void serialize(Archive & ar, unsigned int version) {
- }
-};
-
-// should fail to compile
-void f1(text_oarchive & oa, A & a){
- oa << a;
-}
-

Deleted: branches/proto/v3/libs/serialization/test/test_const_save_fail1_nvp.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_const_save_fail1_nvp.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,26 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/tracking.hpp>
-
-using namespace boost::archive;
-
-struct A {
- template<class Archive>
- void serialize(Archive & ar, unsigned int version) {
- }
-};
-
-void f1(text_oarchive & oa, A & a){
- oa << BOOST_SERIALIZATION_NVP(a);
-}
-

Deleted: branches/proto/v3/libs/serialization/test/test_const_save_fail2.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_const_save_fail2.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,24 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-
-using namespace boost::archive;
-
-struct A {
- template<class Archive>
- void serialize(Archive & ar, unsigned int version) {
- }
-};
-
-void f2(text_oarchive & oa, A * & a){
- oa << a;
-}
-

Deleted: branches/proto/v3/libs/serialization/test/test_const_save_fail2_nvp.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_const_save_fail2_nvp.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,25 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-
-using namespace boost::archive;
-
-struct A {
- template<class Archive>
- void serialize(Archive & ar, unsigned int version) {
- }
-};
-
-void f2(text_oarchive & oa, A * & a){
- oa << BOOST_SERIALIZATION_NVP(a);
-}
-

Deleted: branches/proto/v3/libs/serialization/test/test_const_save_fail3.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_const_save_fail3.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,24 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-
-using namespace boost::archive;
-
-struct A {
- template<class Archive>
- void serialize(Archive & ar, unsigned int version) {
- }
-};
-
-void f3(text_oarchive & oa, const A * & a){
- oa << a;
-}
-

Deleted: branches/proto/v3/libs/serialization/test/test_const_save_fail3_nvp.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_const_save_fail3_nvp.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,25 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-
-using namespace boost::archive;
-
-struct A {
- template<class Archive>
- void serialize(Archive & ar, unsigned int version) {
- }
-};
-
-void f3(text_oarchive & oa, const A * & a){
- oa << BOOST_SERIALIZATION_NVP(a);
-}
-

Deleted: branches/proto/v3/libs/serialization/test/test_const_save_fail4.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_const_save_fail4.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,37 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-
-using namespace boost::archive;
-
-struct A {
- template<class Archive>
- void serialize(Archive & ar, unsigned int version) {
- }
-};
-
-// comment out this test case as a reminder not to keep inserting it !!!
-// we don't trap this as an error in order to permit things like
-// X * xptr;
-// save(..){
-// ar << xptr;
-// }
-//
-// for rational - consider the following example from demo.cpp
-// std::list<pair<trip_info, bus_route_info *> > schedule
-// its not obvious to me how this can be cast to:
-// std::list<pair<trip_info, const bus_route_info * const> > schedule
-
-void f4(text_oarchive & oa, A * const & a){
- oa << a;
-}
-

Deleted: branches/proto/v3/libs/serialization/test/test_const_save_fail4_nvp.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_const_save_fail4_nvp.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,39 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_const.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// compile only
-
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/serialization/nvp.hpp>
-
-using namespace boost::archive;
-
-struct A {
- template<class Archive>
- void serialize(Archive & ar, unsigned int version) {
- }
-};
-
-// comment out this test case as a reminder not to keep inserting it !!!
-// we don't trap this as an error in order to permit things like
-// X * xptr;
-// save(..){
-// ar << xptr;
-// }
-//
-// for rational - consider the following example from demo.cpp
-//
-// std::list<pair<trip_info, bus_route_info *> > schedule
-//
-// its not obvious to me how this can be cast to:
-//
-// std::list<pair<trip_info, const bus_route_info * const> > schedule
-
-void f4(text_oarchive & oa, A * const & a){
- oa << BOOST_SERIALIZATION_NVP(a);
-}

Modified: branches/proto/v3/libs/serialization/test/test_contained_class.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_contained_class.cpp (original)
+++ branches/proto/v3/libs/serialization/test/test_contained_class.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -19,11 +19,10 @@
 #endif
 
 #include "test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
 #include <boost/serialization/nvp.hpp>
 
 #include "B.hpp"
+#include "A.ipp"
 
 ///////////////////////////////////////////////////////
 // Contained class
@@ -53,12 +52,12 @@
     C c1;
     {
         test_ostream os(testfile, TEST_STREAM_FLAGS);
- test_oarchive oa(os);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
         oa << boost::serialization::make_nvp("c", c);
     }
     {
         test_istream is(testfile, TEST_STREAM_FLAGS);
- test_iarchive ia(is);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
         ia >> boost::serialization::make_nvp("c", c1);
     }
     BOOST_CHECK(c == c1);

Modified: branches/proto/v3/libs/serialization/test/test_cyclic_ptrs.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_cyclic_ptrs.cpp (original)
+++ branches/proto/v3/libs/serialization/test/test_cyclic_ptrs.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -20,8 +20,6 @@
 
 
 #include "test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
 #include <boost/detail/no_exceptions_support.hpp>
 
 #include <boost/serialization/nvp.hpp>
@@ -29,6 +27,7 @@
 #include <boost/serialization/base_object.hpp>
 
 #include "A.hpp"
+#include "A.ipp"
 
 ///////////////////////////////////////////////////////
 // class with a member which refers to itself
@@ -115,7 +114,7 @@
     );
     {
         test_ostream os(testfile, TEST_STREAM_FLAGS);
- test_oarchive oa(os);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
         BOOST_TRY {
             oa << BOOST_SERIALIZATION_NVP(k);
         }
@@ -131,7 +130,7 @@
     if(exception.code == boost::archive::archive_exception::no_exception){
         // try to read the archive
         test_istream is(testfile, TEST_STREAM_FLAGS);
- test_iarchive ia(is);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
         exception = boost::archive::archive_exception(
             boost::archive::archive_exception::no_exception
         );

Modified: branches/proto/v3/libs/serialization/test/test_delete_pointer.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_delete_pointer.cpp (original)
+++ branches/proto/v3/libs/serialization/test/test_delete_pointer.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
@@ -18,8 +18,6 @@
 #endif
 
 #include "test_tools.hpp"
-#include <boost/preprocessor/stringize.hpp>
-#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
 #include <boost/detail/no_exceptions_support.hpp>
 
 #include <boost/serialization/nvp.hpp>
@@ -96,7 +94,7 @@
     //output the vector
     {
         test_ostream os(testfile, TEST_STREAM_FLAGS);
- test_oarchive oa(os);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
         oa << BOOST_SERIALIZATION_NVP(vec);
     }
 
@@ -108,7 +106,7 @@
     //read the vector back
     {
         test_istream is(testfile, TEST_STREAM_FLAGS);
- test_iarchive ia(is);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
         BOOST_TRY {
             ia >> BOOST_SERIALIZATION_NVP(vec);
         }

Deleted: branches/proto/v3/libs/serialization/test/test_demo.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_demo.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,11 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// test_demo.cpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#include "test_tools.hpp"
-#define main test_main
-#include "../example/demo.cpp"

Deleted: branches/proto/v3/libs/serialization/test/test_demo_auto_ptr.cpp
==============================================================================
--- branches/proto/v3/libs/serialization/test/test_demo_auto_ptr.cpp 2008-03-24 00:57:42 EDT (Mon, 24 Mar 2008)
+++ (empty file)
@@ -1,11 +0,0 @@
-/////////1/////////2/////////3/////////