$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: daniel_james_at_[hidden]
Date: 2007-08-27 15:56:14
Author: danieljames
Date: 2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
New Revision: 39016
URL: http://svn.boost.org/trac/boost/changeset/39016
Log:
Merge from trunk.
Added:
   branches/hash/boost/detail/sp_typeinfo.hpp
      - copied unchanged from r39014, /trunk/boost/detail/sp_typeinfo.hpp
   branches/hash/boost/graph/boyer_myrvold_planar_test.hpp
      - copied unchanged from r39014, /trunk/boost/graph/boyer_myrvold_planar_test.hpp
   branches/hash/boost/graph/chrobak_payne_drawing.hpp
      - copied unchanged from r39014, /trunk/boost/graph/chrobak_payne_drawing.hpp
   branches/hash/boost/graph/is_kuratowski_subgraph.hpp
      - copied unchanged from r39014, /trunk/boost/graph/is_kuratowski_subgraph.hpp
   branches/hash/boost/graph/is_straight_line_drawing.hpp
      - copied unchanged from r39014, /trunk/boost/graph/is_straight_line_drawing.hpp
   branches/hash/boost/graph/make_biconnected_planar.hpp
      - copied unchanged from r39014, /trunk/boost/graph/make_biconnected_planar.hpp
   branches/hash/boost/graph/make_connected.hpp
      - copied unchanged from r39014, /trunk/boost/graph/make_connected.hpp
   branches/hash/boost/graph/make_maximal_planar.hpp
      - copied unchanged from r39014, /trunk/boost/graph/make_maximal_planar.hpp
   branches/hash/boost/graph/planar_canonical_ordering.hpp
      - copied unchanged from r39014, /trunk/boost/graph/planar_canonical_ordering.hpp
   branches/hash/boost/graph/planar_detail/
      - copied from r39014, /trunk/boost/graph/planar_detail/
   branches/hash/boost/graph/planar_detail/add_edge_visitors.hpp
      - copied unchanged from r39014, /trunk/boost/graph/planar_detail/add_edge_visitors.hpp
   branches/hash/boost/graph/planar_detail/boyer_myrvold_impl.hpp
      - copied unchanged from r39014, /trunk/boost/graph/planar_detail/boyer_myrvold_impl.hpp
   branches/hash/boost/graph/planar_detail/bucket_sort.hpp
      - copied unchanged from r39014, /trunk/boost/graph/planar_detail/bucket_sort.hpp
   branches/hash/boost/graph/planar_detail/face_handles.hpp
      - copied unchanged from r39014, /trunk/boost/graph/planar_detail/face_handles.hpp
   branches/hash/boost/graph/planar_detail/face_iterators.hpp
      - copied unchanged from r39014, /trunk/boost/graph/planar_detail/face_iterators.hpp
   branches/hash/boost/graph/planar_face_traversal.hpp
      - copied unchanged from r39014, /trunk/boost/graph/planar_face_traversal.hpp
   branches/hash/boost/interprocess/smart_ptr/deleter.hpp
      - copied unchanged from r39014, /trunk/boost/interprocess/smart_ptr/deleter.hpp
   branches/hash/libs/config/test/boost_no_iosfwd.ipp
      - copied unchanged from r39014, /trunk/libs/config/test/boost_no_iosfwd.ipp
   branches/hash/libs/config/test/boost_no_iostream.ipp
      - copied unchanged from r39014, /trunk/libs/config/test/boost_no_iostream.ipp
   branches/hash/libs/config/test/boost_no_std_typeinfo.ipp
      - copied unchanged from r39014, /trunk/libs/config/test/boost_no_std_typeinfo.ipp
   branches/hash/libs/config/test/boost_no_typeid.ipp
      - copied unchanged from r39014, /trunk/libs/config/test/boost_no_typeid.ipp
   branches/hash/libs/config/test/has_concepts_fail.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/has_concepts_fail.cpp
   branches/hash/libs/config/test/has_concepts_pass.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/has_concepts_pass.cpp
   branches/hash/libs/config/test/has_rvalue_refs_fail.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/has_rvalue_refs_fail.cpp
   branches/hash/libs/config/test/has_rvalue_refs_pass.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/has_rvalue_refs_pass.cpp
   branches/hash/libs/config/test/has_static_assert_fail.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/has_static_assert_fail.cpp
   branches/hash/libs/config/test/has_static_assert_pass.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/has_static_assert_pass.cpp
   branches/hash/libs/config/test/has_variadic_tmpl_fail.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/has_variadic_tmpl_fail.cpp
   branches/hash/libs/config/test/has_variadic_tmpl_pass.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/has_variadic_tmpl_pass.cpp
   branches/hash/libs/config/test/no_iosfwd_fail.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/no_iosfwd_fail.cpp
   branches/hash/libs/config/test/no_iosfwd_pass.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/no_iosfwd_pass.cpp
   branches/hash/libs/config/test/no_iostream_fail.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/no_iostream_fail.cpp
   branches/hash/libs/config/test/no_iostream_pass.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/no_iostream_pass.cpp
   branches/hash/libs/config/test/no_std_typeinfo_fail.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/no_std_typeinfo_fail.cpp
   branches/hash/libs/config/test/no_std_typeinfo_pass.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/no_std_typeinfo_pass.cpp
   branches/hash/libs/config/test/no_typeid_fail.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/no_typeid_fail.cpp
   branches/hash/libs/config/test/no_typeid_pass.cpp
      - copied unchanged from r39014, /trunk/libs/config/test/no_typeid_pass.cpp
   branches/hash/libs/graph/doc/AddEdgeVisitor.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/AddEdgeVisitor.html
   branches/hash/libs/graph/doc/PlanarEmbedding.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/PlanarEmbedding.html
   branches/hash/libs/graph/doc/PlanarFaceVisitor.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/PlanarFaceVisitor.html
   branches/hash/libs/graph/doc/boyer_myrvold.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/boyer_myrvold.html
   branches/hash/libs/graph/doc/figs/canonical_ordering.png
      - copied unchanged from r39014, /trunk/libs/graph/doc/figs/canonical_ordering.png
   branches/hash/libs/graph/doc/figs/embedding_illustration.png
      - copied unchanged from r39014, /trunk/libs/graph/doc/figs/embedding_illustration.png
   branches/hash/libs/graph/doc/figs/face_illustration.png
      - copied unchanged from r39014, /trunk/libs/graph/doc/figs/face_illustration.png
   branches/hash/libs/graph/doc/figs/face_traversal_example.png
      - copied unchanged from r39014, /trunk/libs/graph/doc/figs/face_traversal_example.png
   branches/hash/libs/graph/doc/figs/k_5_and_k_3_3.png
      - copied unchanged from r39014, /trunk/libs/graph/doc/figs/k_5_and_k_3_3.png
   branches/hash/libs/graph/doc/figs/planar_plane_straight_line.png
      - copied unchanged from r39014, /trunk/libs/graph/doc/figs/planar_plane_straight_line.png
   branches/hash/libs/graph/doc/figs/straight_line_drawing.png
      - copied unchanged from r39014, /trunk/libs/graph/doc/figs/straight_line_drawing.png
   branches/hash/libs/graph/doc/is_kuratowski_subgraph.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/is_kuratowski_subgraph.html
   branches/hash/libs/graph/doc/is_straight_line_drawing.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/is_straight_line_drawing.html
   branches/hash/libs/graph/doc/make_biconnected_planar.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/make_biconnected_planar.html
   branches/hash/libs/graph/doc/make_connected.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/make_connected.html
   branches/hash/libs/graph/doc/make_maximal_planar.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/make_maximal_planar.html
   branches/hash/libs/graph/doc/planar_canonical_ordering.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/planar_canonical_ordering.html
   branches/hash/libs/graph/doc/planar_face_traversal.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/planar_face_traversal.html
   branches/hash/libs/graph/doc/planar_graphs.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/planar_graphs.html
   branches/hash/libs/graph/doc/straight_line_drawing.html
      - copied unchanged from r39014, /trunk/libs/graph/doc/straight_line_drawing.html
   branches/hash/libs/graph/example/canonical_ordering.cpp
      - copied unchanged from r39014, /trunk/libs/graph/example/canonical_ordering.cpp
   branches/hash/libs/graph/example/kuratowski_subgraph.cpp
      - copied unchanged from r39014, /trunk/libs/graph/example/kuratowski_subgraph.cpp
   branches/hash/libs/graph/example/make_biconnected_planar.cpp
      - copied unchanged from r39014, /trunk/libs/graph/example/make_biconnected_planar.cpp
   branches/hash/libs/graph/example/make_connected.cpp
      - copied unchanged from r39014, /trunk/libs/graph/example/make_connected.cpp
   branches/hash/libs/graph/example/make_maximal_planar.cpp
      - copied unchanged from r39014, /trunk/libs/graph/example/make_maximal_planar.cpp
   branches/hash/libs/graph/example/planar_face_traversal.cpp
      - copied unchanged from r39014, /trunk/libs/graph/example/planar_face_traversal.cpp
   branches/hash/libs/graph/example/simple_planarity_test.cpp
      - copied unchanged from r39014, /trunk/libs/graph/example/simple_planarity_test.cpp
   branches/hash/libs/graph/example/straight_line_drawing.cpp
      - copied unchanged from r39014, /trunk/libs/graph/example/straight_line_drawing.cpp
   branches/hash/libs/graph/test/all_planar_input_files_test.cpp
      - copied unchanged from r39014, /trunk/libs/graph/test/all_planar_input_files_test.cpp
   branches/hash/libs/graph/test/basic_planarity_test.cpp
      - copied unchanged from r39014, /trunk/libs/graph/test/basic_planarity_test.cpp
   branches/hash/libs/graph/test/make_biconnected_planar_test.cpp
      - copied unchanged from r39014, /trunk/libs/graph/test/make_biconnected_planar_test.cpp
   branches/hash/libs/graph/test/make_connected_test.cpp
      - copied unchanged from r39014, /trunk/libs/graph/test/make_connected_test.cpp
   branches/hash/libs/graph/test/make_maximal_planar_test.cpp
      - copied unchanged from r39014, /trunk/libs/graph/test/make_maximal_planar_test.cpp
   branches/hash/libs/graph/test/parallel_edges_loops_test.cpp
      - copied unchanged from r39014, /trunk/libs/graph/test/parallel_edges_loops_test.cpp
   branches/hash/libs/graph/test/planar_input_graphs/
      - copied from r39014, /trunk/libs/graph/test/planar_input_graphs/
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_1000_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_100_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_10_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_11_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_12_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_13_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_14_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_15_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_16_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_17_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_18_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_19_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_20_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_30_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_40_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_50_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_7_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_8_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_expansion_9_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_3_3_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_100_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_10_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_11_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_12_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_13_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_14_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_15_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_16_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_17_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_18_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_19_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_20_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_30_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_40_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_50_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_6_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_7_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_8_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_expansion_9_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_K_5_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_K_5_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_A_1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_A_1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_B_1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_B_1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_B_2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_B_2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_B_with_short_circuit.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_B_with_short_circuit.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_B_with_short_circuit_large.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_B_with_short_circuit_large.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_B_z_w_walkup_patching.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_B_z_w_walkup_patching.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_C_1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_C_1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_C_10.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_C_10.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_C_11.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_C_11.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_C_2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_C_2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_C_3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_C_3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_C_4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_C_4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_C_5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_C_5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_C_6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_C_6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_C_7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_C_7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_C_8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_C_8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_C_9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_C_9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_D_1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_D_1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_D_2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_D_2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_D_3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_D_3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_D_4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_D_4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_D_5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_D_5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_E_1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_E_1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_E_2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_E_2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_E_3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_E_3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_E_4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_E_4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_E_5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_E_5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_E_6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_E_6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_case_E_7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_case_E_7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_lopsided_case_D.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_lopsided_case_D.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_100_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_10_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_30_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_maximal_plus_one_50_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_peterson.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_peterson.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_peterson_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_peterson_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_peterson_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_peterson_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_peterson_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_peterson_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_peterson_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_peterson_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_peterson_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_peterson_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_peterson_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_peterson_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_peterson_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_peterson_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_peterson_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_peterson_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_peterson_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_peterson_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_peterson_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_peterson_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/nonplanar_twisted_short_circuit_edge.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/nonplanar_twisted_short_circuit_edge.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_a_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_b_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_c_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_d_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_5_connected_cycles_e_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_1_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_2_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_3_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_4_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_5_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_6_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_7_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_8_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_3_3_subgraph_9_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_100_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_10_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_11_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_12_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_13_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_14_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_15_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_16_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_17_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_18_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_19_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_20_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_21_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_25_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_30_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_50_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_5_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_6_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_7_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_8_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_expansion_9_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_4_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_4_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_10_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_1_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_2_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_3_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_4_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_5_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_6_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_7_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_8_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_K_5_subgraph_9_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_cycle_1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_cycle_1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_cycle_1_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_cycle_1_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_cycle_1_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_cycle_1_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_cycle_1_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_cycle_1_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_cycle_1_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_cycle_1_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_cycle_1_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_cycle_1_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_cycle_1_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_cycle_1_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_cycle_1_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_cycle_1_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_cycle_1_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_cycle_1_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_cycle_1_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_cycle_1_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_cycle_1_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_cycle_1_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_grid_graph.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_grid_graph.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_grid_graph_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_grid_graph_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_grid_graph_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_grid_graph_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_grid_graph_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_grid_graph_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_grid_graph_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_grid_graph_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_grid_graph_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_grid_graph_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_grid_graph_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_grid_graph_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_grid_graph_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_grid_graph_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_grid_graph_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_grid_graph_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_grid_graph_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_grid_graph_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_grid_graph_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_grid_graph_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_1_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_1_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_1_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_1_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_1_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_1_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_1_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_1_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_1_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_1_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_1_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_1_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_1_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_1_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_1_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_1_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_1_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_1_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_1_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_1_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_2_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_2_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_2_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_2_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_2_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_2_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_2_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_2_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_2_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_2_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_2_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_2_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_2_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_2_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_2_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_2_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_2_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_2_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_line_2_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_line_2_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_10.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_10.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_100.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_100.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_100_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_100_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_100_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_100_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_100_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_100_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_100_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_100_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_100_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_100_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_100_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_100_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_100_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_100_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_100_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_100_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_100_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_100_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_100_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_100_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_10_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_10_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_10_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_10_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_10_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_10_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_10_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_10_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_10_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_10_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_10_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_10_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_10_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_10_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_10_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_10_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_10_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_10_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_10_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_10_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_30.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_30.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_30_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_30_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_30_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_30_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_30_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_30_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_30_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_30_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_30_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_30_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_30_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_30_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_30_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_30_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_30_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_30_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_30_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_30_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_30_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_30_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_3_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_3_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_3_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_3_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_3_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_3_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_3_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_3_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_3_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_3_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_3_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_3_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_3_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_3_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_3_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_3_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_3_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_3_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_3_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_3_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_50.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_50.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_50_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_50_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_50_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_50_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_50_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_50_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_50_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_50_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_50_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_50_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_50_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_50_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_50_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_50_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_50_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_50_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_50_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_50_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_maximal_50_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_maximal_50_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_biconnected_1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_biconnected_1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_biconnected_2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_biconnected_2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_connected.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_connected.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_connected_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_connected_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_connected_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_connected_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_connected_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_connected_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_connected_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_connected_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_connected_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_connected_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_connected_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_connected_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_connected_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_connected_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_connected_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_connected_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_connected_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_connected_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_non_connected_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_non_connected_p9.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_tree_1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_tree_1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_tree_1_p0.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_tree_1_p0.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_tree_1_p1.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_tree_1_p1.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_tree_1_p2.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_tree_1_p2.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_tree_1_p3.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_tree_1_p3.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_tree_1_p4.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_tree_1_p4.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_tree_1_p5.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_tree_1_p5.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_tree_1_p6.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_tree_1_p6.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_tree_1_p7.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_tree_1_p7.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_tree_1_p8.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_tree_1_p8.dimacs
   branches/hash/libs/graph/test/planar_input_graphs/planar_tree_1_p9.dimacs
      - copied unchanged from r39014, /trunk/libs/graph/test/planar_input_graphs/planar_tree_1_p9.dimacs
   branches/hash/libs/interprocess/test/get_process_id_name.hpp
      - copied unchanged from r39014, /trunk/libs/interprocess/test/get_process_id_name.hpp
Removed:
   branches/hash/boost/interprocess/containers/detail/tree_func.hpp
   branches/hash/boost/interprocess/containers/tree.hpp
   branches/hash/boost/interprocess/detail/multi_segment_services.hpp
   branches/hash/boost/interprocess/intersegment_ptr.hpp
   branches/hash/boost/interprocess/managed_multi_shared_memory.hpp
   branches/hash/boost/interprocess/mem_algo/multi_simple_seq_fit.hpp
   branches/hash/boost/interprocess/smart_ptr/detail/sp_counted_base_pt.hpp
   branches/hash/boost/interprocess/smart_ptr/detail/sp_counted_base_w32.hpp
   branches/hash/boost/interprocess/smart_ptr/segment_deleter.hpp
   branches/hash/libs/interprocess/doc/code/
   branches/hash/libs/interprocess/test/file_lock_test.cpp
Properties modified: 
   branches/hash/   (props changed)
   branches/hash/tools/build/v2/nightly.sh   (contents, props changed)
   branches/hash/tools/build/v2/roll.sh   (contents, props changed)
Text files modified: 
   branches/hash/boost/detail/shared_count.hpp                                             |     3                                         
   branches/hash/boost/detail/sp_counted_base_cw_ppc.hpp                                   |     4                                         
   branches/hash/boost/detail/sp_counted_base_cw_x86.hpp                                   |     4                                         
   branches/hash/boost/detail/sp_counted_base_gcc_ia64.hpp                                 |     4                                         
   branches/hash/boost/detail/sp_counted_base_gcc_ppc.hpp                                  |     4                                         
   branches/hash/boost/detail/sp_counted_base_gcc_sparc.hpp                                |     4                                         
   branches/hash/boost/detail/sp_counted_base_gcc_x86.hpp                                  |     4                                         
   branches/hash/boost/detail/sp_counted_base_nt.hpp                                       |     4                                         
   branches/hash/boost/detail/sp_counted_base_pt.hpp                                       |     4                                         
   branches/hash/boost/detail/sp_counted_base_solaris.hpp                                  |     4                                         
   branches/hash/boost/detail/sp_counted_base_sync.hpp                                     |     4                                         
   branches/hash/boost/detail/sp_counted_base_w32.hpp                                      |     4                                         
   branches/hash/boost/detail/sp_counted_impl.hpp                                          |    11 +-                                      
   branches/hash/boost/interprocess/containers/detail/node_alloc_holder.hpp                |     2                                         
   branches/hash/boost/interprocess/containers/detail/tree.hpp                             |    20 ++--                                    
   branches/hash/boost/interprocess/detail/algorithms.hpp                                  |    29 ++++++                                  
   branches/hash/boost/interprocess/detail/os_thread_functions.hpp                         |     8 +                                       
   branches/hash/boost/interprocess/detail/utilities.hpp                                   |    24 -----                                   
   branches/hash/boost/interprocess/detail/win32_api.hpp                                   |    50 +++++++++++                             
   branches/hash/boost/interprocess/indexes/iunordered_set_index.hpp                       |     2                                         
   branches/hash/boost/shared_array.hpp                                                    |    18 ++++                                    
   branches/hash/boost/shared_ptr.hpp                                                      |     8                                         
   branches/hash/libs/config/doc/html/boost_config/acknowledgements.html                   |     4                                         
   branches/hash/libs/config/doc/html/boost_config/boost_macro_reference.html              |   112 +++++++++++++++++++++++---              
   branches/hash/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html       |     4                                         
   branches/hash/libs/config/doc/html/boost_config/rationale.html                          |     4                                         
   branches/hash/libs/config/doc/html/index.html                                           |     8                                         
   branches/hash/libs/config/doc/macro_reference.qbk                                       |    12 ++                                      
   branches/hash/libs/config/test/Jamfile.v2                                               |    30 ++++++                                  
   branches/hash/libs/config/test/config_info.cpp                                          |     9 ++                                      
   branches/hash/libs/config/test/config_test.cpp                                          |    82 +++++++++++++++++++                     
   branches/hash/libs/functional/hash/doc/ref.xml                                          |    11 ++                                      
   branches/hash/libs/functional/hash/test/Jamfile.v2                                      |     4                                         
   branches/hash/libs/graph/doc/bibliography.html                                          |    22 +++++                                   
   branches/hash/libs/graph/doc/history.html                                               |     2                                         
   branches/hash/libs/graph/doc/table_of_contents.html                                     |    23 +++++                                   
   branches/hash/libs/graph/test/Jamfile.v2                                                |    20 ++++                                    
   branches/hash/libs/interprocess/test/allocator_v1.hpp                                   |    55 +++++--------                           
   branches/hash/libs/interprocess/test/allocexcept_test.cpp                               |     4                                         
   branches/hash/libs/interprocess/test/check_equal_containers.hpp                         |     6 +                                       
   branches/hash/libs/interprocess/test/data_test.cpp                                      |    10 +-                                      
   branches/hash/libs/interprocess/test/deque_test.cpp                                     |     4                                         
   branches/hash/libs/interprocess/test/dummy_test_allocator.hpp                           |    31 +++---                                  
   branches/hash/libs/interprocess/test/expand_bwd_test_allocator.hpp                      |    33 +++----                                 
   branches/hash/libs/interprocess/test/file_mapping_test.cpp                              |    14 +-                                      
   branches/hash/libs/interprocess/test/flat_tree_test.cpp                                 |     5 +                                       
   branches/hash/libs/interprocess/test/intrusive_ptr_test.cpp                             |    16 ---                                     
   branches/hash/libs/interprocess/test/list_test.hpp                                      |     4                                         
   branches/hash/libs/interprocess/test/managed_mapped_file_test.cpp                       |     4                                         
   branches/hash/libs/interprocess/test/managed_windows_shared_memory_test.cpp             |     4                                         
   branches/hash/libs/interprocess/test/map_test.hpp                                       |     6                                         
   branches/hash/libs/interprocess/test/mapped_file_test.cpp                               |     4                                         
   branches/hash/libs/interprocess/test/memory_algorithm_test.cpp                          |     4                                         
   branches/hash/libs/interprocess/test/message_queue_test.cpp                             |    24 ++--                                    
   branches/hash/libs/interprocess/test/named_allocation_test_template.hpp                 |     4                                         
   branches/hash/libs/interprocess/test/named_condition_test.cpp                           |    40 ++++----                                
   branches/hash/libs/interprocess/test/named_mutex_test.cpp                               |    18 ++--                                    
   branches/hash/libs/interprocess/test/named_recursive_mutex_test.cpp                     |    18 ++--                                    
   branches/hash/libs/interprocess/test/named_semaphore_test.cpp                           |     4                                         
   branches/hash/libs/interprocess/test/named_upgradable_mutex_test.cpp                    |    18 ++--                                    
   branches/hash/libs/interprocess/test/node_pool_test.cpp                                 |    24 ++++-                                   
   branches/hash/libs/interprocess/test/null_index_test.cpp                                |     8                                         
   branches/hash/libs/interprocess/test/set_test.hpp                                       |   164 ++++++++++++++++++++++++++++++--------- 
   branches/hash/libs/interprocess/test/shared_memory_mapping_test.cpp                     |    16 +-                                      
   branches/hash/libs/interprocess/test/shared_memory_test.cpp                             |     4                                         
   branches/hash/libs/interprocess/test/shared_ptr_test.cpp                                |    43 +++++-----                              
   branches/hash/libs/interprocess/test/string_test.cpp                                    |    14 +-                                      
   branches/hash/libs/interprocess/test/tree_test.cpp                                      |     2                                         
   branches/hash/libs/interprocess/test/unique_ptr_test.cpp                                |    51 +++--------                             
   branches/hash/libs/interprocess/test/vector_test.cpp                                    |    32 +++++--                                 
   branches/hash/libs/interprocess/test/windows_shared_memory_mapping_test.cpp             |    14 +-                                      
   branches/hash/libs/interprocess/test/windows_shared_memory_test.cpp                     |     8                                         
   branches/hash/libs/program_options/src/options_description.cpp                          |    10 +-                                      
   branches/hash/libs/regex/doc/html/boost_regex/background_information/examples.html      |     6                                         
   branches/hash/libs/regex/doc/html/boost_regex/background_information/history.html       |     8                                         
   branches/hash/libs/regex/doc/html/boost_regex/background_information/standards.html     |     6                                         
   branches/hash/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html |     6                                         
   branches/hash/libs/regex/doc/html/index.html                                            |     2                                         
   branches/hash/libs/regex/doc/icu_strings.qbk                                            |     4                                         
   branches/hash/libs/regex/example/snippets/icu_example.cpp                               |     4                                         
   branches/hash/more/formal_review_schedule.html                                          |     2                                         
   branches/hash/tools/build/v2/build/virtual-target.jam                                   |    93 +++++++++++++--------                   
   branches/hash/tools/build/v2/nightly.sh                                                 |     2                                         
   branches/hash/tools/build/v2/roll.sh                                                    |    12 +                                       
   branches/hash/tools/build/v2/test/BoostBuild.py                                         |    22 +++-                                    
   branches/hash/tools/build/v2/test/regression.py                                         |     2                                         
   branches/hash/tools/build/v2/tools/builtin.jam                                          |    29 +++---                                  
   branches/hash/tools/build/v2/tools/sun.jam                                              |    17 ++++                                    
   branches/hash/tools/build/v2/util/path.jam                                              |     9 +                                       
   branches/hash/tools/regression/library_status.cpp                                       |    50 +++++------                             
   branches/hash/tools/regression/process_jam_log.cpp                                      |    72 +++++++++--------                       
   branches/hash/tools/regression/xsl_reports/runner/regression.py                         |     2                                         
   92 files changed, 1051 insertions(+), 583 deletions(-)
Modified: branches/hash/boost/detail/shared_count.hpp
==============================================================================
--- branches/hash/boost/detail/shared_count.hpp	(original)
+++ branches/hash/boost/detail/shared_count.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -32,7 +32,6 @@
 #include <memory>           // std::auto_ptr
 #include <functional>       // std::less
 #include <new>              // std::bad_alloc
-#include <typeinfo>         // std::type_info in get_deleter
 
 namespace boost
 {
@@ -259,7 +258,7 @@
         return std::less<sp_counted_base *>()( a.pi_, b.pi_ );
     }
 
-    void * get_deleter(std::type_info const & ti) const
+    void * get_deleter( sp_typeinfo const & ti ) const
     {
         return pi_? pi_->get_deleter( ti ): 0;
     }
Modified: branches/hash/boost/detail/sp_counted_base_cw_ppc.hpp
==============================================================================
--- branches/hash/boost/detail/sp_counted_base_cw_ppc.hpp	(original)
+++ branches/hash/boost/detail/sp_counted_base_cw_ppc.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -24,7 +24,7 @@
 //  formulation
 //
 
-#include <typeinfo>
+#include "sp_typeinfo.hpp"
 
 namespace boost
 {
@@ -123,7 +123,7 @@
         delete this;
     }
 
-    virtual void * get_deleter( std::type_info const & ti ) = 0;
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
 
     void add_ref_copy()
     {
Modified: branches/hash/boost/detail/sp_counted_base_cw_x86.hpp
==============================================================================
--- branches/hash/boost/detail/sp_counted_base_cw_x86.hpp	(original)
+++ branches/hash/boost/detail/sp_counted_base_cw_x86.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -25,7 +25,7 @@
 //  formulation
 //
 
-#include <typeinfo>
+#include "sp_typeinfo.hpp"
 
 namespace boost
 {
@@ -111,7 +111,7 @@
         delete this;
     }
 
-    virtual void * get_deleter( std::type_info const & ti ) = 0;
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
 
     void add_ref_copy()
     {
Modified: branches/hash/boost/detail/sp_counted_base_gcc_ia64.hpp
==============================================================================
--- branches/hash/boost/detail/sp_counted_base_gcc_ia64.hpp	(original)
+++ branches/hash/boost/detail/sp_counted_base_gcc_ia64.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -16,7 +16,7 @@
 //  Lock-free algorithm by Alexander Terekhov
 //
 
-#include <typeinfo>
+#include "sp_typeinfo.hpp"
 
 namespace boost
 {
@@ -110,7 +110,7 @@
         delete this;
     }
 
-    virtual void * get_deleter( std::type_info const & ti ) = 0;
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
 
     void add_ref_copy()
     {
Modified: branches/hash/boost/detail/sp_counted_base_gcc_ppc.hpp
==============================================================================
--- branches/hash/boost/detail/sp_counted_base_gcc_ppc.hpp	(original)
+++ branches/hash/boost/detail/sp_counted_base_gcc_ppc.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -24,7 +24,7 @@
 //  formulation
 //
 
-#include <typeinfo>
+#include "sp_typeinfo.hpp"
 
 namespace boost
 {
@@ -134,7 +134,7 @@
         delete this;
     }
 
-    virtual void * get_deleter( std::type_info const & ti ) = 0;
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
 
     void add_ref_copy()
     {
Modified: branches/hash/boost/detail/sp_counted_base_gcc_sparc.hpp
==============================================================================
--- branches/hash/boost/detail/sp_counted_base_gcc_sparc.hpp	(original)
+++ branches/hash/boost/detail/sp_counted_base_gcc_sparc.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -19,7 +19,7 @@
 //
 //  Thanks to Michael van der Westhuizen
 
-#include <typeinfo>
+#include "sp_typeinfo.hpp"
 #include <inttypes.h> // int32_t
 
 namespace boost
@@ -119,7 +119,7 @@
         delete this;
     }
 
-    virtual void * get_deleter( std::type_info const & ti ) = 0;
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
 
     void add_ref_copy()
     {
Modified: branches/hash/boost/detail/sp_counted_base_gcc_x86.hpp
==============================================================================
--- branches/hash/boost/detail/sp_counted_base_gcc_x86.hpp	(original)
+++ branches/hash/boost/detail/sp_counted_base_gcc_x86.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -24,7 +24,7 @@
 //  formulation
 //
 
-#include <typeinfo>
+#include "sp_typeinfo.hpp"
 
 namespace boost
 {
@@ -126,7 +126,7 @@
         delete this;
     }
 
-    virtual void * get_deleter( std::type_info const & ti ) = 0;
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
 
     void add_ref_copy()
     {
Modified: branches/hash/boost/detail/sp_counted_base_nt.hpp
==============================================================================
--- branches/hash/boost/detail/sp_counted_base_nt.hpp	(original)
+++ branches/hash/boost/detail/sp_counted_base_nt.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -18,7 +18,7 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 //
 
-#include <typeinfo>
+#include "sp_typeinfo.hpp"
 
 namespace boost
 {
@@ -58,7 +58,7 @@
         delete this;
     }
 
-    virtual void * get_deleter( std::type_info const & ti ) = 0;
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
 
     void add_ref_copy()
     {
Modified: branches/hash/boost/detail/sp_counted_base_pt.hpp
==============================================================================
--- branches/hash/boost/detail/sp_counted_base_pt.hpp	(original)
+++ branches/hash/boost/detail/sp_counted_base_pt.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -18,7 +18,7 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 //
 
-#include <typeinfo>
+#include "sp_typeinfo.hpp"
 #include <pthread.h>
 
 namespace boost
@@ -69,7 +69,7 @@
         delete this;
     }
 
-    virtual void * get_deleter( std::type_info const & ti ) = 0;
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
 
     void add_ref_copy()
     {
Modified: branches/hash/boost/detail/sp_counted_base_solaris.hpp
==============================================================================
--- branches/hash/boost/detail/sp_counted_base_solaris.hpp	(original)
+++ branches/hash/boost/detail/sp_counted_base_solaris.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -20,7 +20,7 @@
 //  formulation
 //
 
-#include <typeinfo>
+#include "sp_typeinfo.hpp"
 #include <atomic.h>
 
 namespace boost
@@ -61,7 +61,7 @@
         delete this;
     }
 
-    virtual void * get_deleter( std::type_info const & ti ) = 0;
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
 
     void add_ref_copy()
     {
Modified: branches/hash/boost/detail/sp_counted_base_sync.hpp
==============================================================================
--- branches/hash/boost/detail/sp_counted_base_sync.hpp	(original)
+++ branches/hash/boost/detail/sp_counted_base_sync.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -15,7 +15,7 @@
 //  See accompanying file LICENSE_1_0.txt or copy at
 //  http://www.boost.org/LICENSE_1_0.txt
 
-#include <typeinfo>
+#include "sp_typeinfo.hpp"
 #include <limits.h>
 
 namespace boost
@@ -104,7 +104,7 @@
         delete this;
     }
 
-    virtual void * get_deleter( std::type_info const & ti ) = 0;
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
 
     void add_ref_copy()
     {
Modified: branches/hash/boost/detail/sp_counted_base_w32.hpp
==============================================================================
--- branches/hash/boost/detail/sp_counted_base_w32.hpp	(original)
+++ branches/hash/boost/detail/sp_counted_base_w32.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -26,7 +26,7 @@
 
 #include <boost/detail/interlocked.hpp>
 #include <boost/detail/workaround.hpp>
-#include <typeinfo>
+#include "sp_typeinfo.hpp"
 
 namespace boost
 {
@@ -66,7 +66,7 @@
         delete this;
     }
 
-    virtual void * get_deleter( std::type_info const & ti ) = 0;
+    virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
 
     void add_ref_copy()
     {
Modified: branches/hash/boost/detail/sp_counted_impl.hpp
==============================================================================
--- branches/hash/boost/detail/sp_counted_impl.hpp	(original)
+++ branches/hash/boost/detail/sp_counted_impl.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -35,7 +35,6 @@
 #include <memory>           // std::allocator
 #endif
 
-#include <typeinfo>         // std::type_info in get_deleter
 #include <cstddef>          // std::size_t
 
 namespace boost
@@ -79,7 +78,7 @@
         boost::checked_delete( px_ );
     }
 
-    virtual void * get_deleter( std::type_info const & )
+    virtual void * get_deleter( detail::sp_typeinfo const & )
     {
         return 0;
     }
@@ -145,9 +144,9 @@
         del( ptr );
     }
 
-    virtual void * get_deleter( std::type_info const & ti )
+    virtual void * get_deleter( detail::sp_typeinfo const & ti )
     {
-        return ti == typeid(D)? &reinterpret_cast<char&>( del ): 0;
+        return ti == BOOST_SP_TYPEID(D)? &reinterpret_cast<char&>( del ): 0;
     }
 
 #if defined(BOOST_SP_USE_STD_ALLOCATOR)
@@ -215,9 +214,9 @@
         a2.deallocate( this, 1 );
     }
 
-    virtual void * get_deleter( std::type_info const & ti )
+    virtual void * get_deleter( detail::sp_typeinfo const & ti )
     {
-        return ti == typeid( D )? &reinterpret_cast<char&>( d_ ): 0;
+        return ti == BOOST_SP_TYPEID( D )? &reinterpret_cast<char&>( d_ ): 0;
     }
 };
 
Modified: branches/hash/boost/interprocess/containers/detail/node_alloc_holder.hpp
==============================================================================
--- branches/hash/boost/interprocess/containers/detail/node_alloc_holder.hpp	(original)
+++ branches/hash/boost/interprocess/containers/detail/node_alloc_holder.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -257,7 +257,7 @@
    {
       NodePtr p = this->allocate_one();
       Deallocator node_deallocator(p, *this);
-      ::boost::interprocess::construct_in_place(detail::get_pointer(p), it);
+      construct_in_place(detail::get_pointer(p), it);
       node_deallocator.release();
       return (p);
    }
Modified: branches/hash/boost/interprocess/containers/detail/tree.hpp
==============================================================================
--- branches/hash/boost/interprocess/containers/detail/tree.hpp	(original)
+++ branches/hash/boost/interprocess/containers/detail/tree.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -167,6 +167,17 @@
    #endif
 };
 
+}//namespace detail {
+
+template<class T, class VoidPointer>
+struct has_own_construct_from_it
+   < boost::interprocess::detail::rbtree_node<T, VoidPointer> >
+{
+   static const bool value = true;
+};
+
+namespace detail {
+
 template<class A, class ValueCompare>
 struct intrusive_rbtree_type
 {
@@ -189,15 +200,6 @@
 
 }  //namespace detail {
 
-//This specialization is necessary since std::pair is not movable.
-//We need to hack the constructor to add move semantics
-//to rbtrees
-template<class T, class VoidPointer, class InpIt>
-inline void construct_in_place(detail::rbtree_node<T, VoidPointer>* dest, InpIt source)
-{
-   detail::rbtree_node<T, VoidPointer>::construct(dest, *source);
-}
-
 namespace detail {
 
 template <class Key, class Value, class KeyOfValue, 
Deleted: branches/hash/boost/interprocess/containers/detail/tree_func.hpp
==============================================================================
--- branches/hash/boost/interprocess/containers/detail/tree_func.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
+++ (empty file)
@@ -1,899 +0,0 @@
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- *
- */
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztañaga 2005-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)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-// This file comes from SGI's stl_tree file. Modified by Ion Gaztañaga 2005.
-// Renaming, isolating and porting to generic algorithms. Pointer typedef 
-// set to allocator::pointer to allow placing it in shared memory.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_TREE_FUNC_HPP
-#define BOOST_INTERPROCESS_TREE_FUNC_HPP
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/iterator.hpp>
-
-namespace boost  { 
-namespace interprocess  { 
-namespace detail {
-
-template <class VoidPointer>
-struct rb_tree_node_base
-{
-   typedef typename boost::interprocess::detail::pointer_to_other
-      <VoidPointer, rb_tree_node_base<VoidPointer> >::type   basic_node_pointer;
-
-   enum color_t { red_color    = false, black_color  = true };
-
-   const basic_node_pointer &parent() const  {  return mp_parent; }
-         basic_node_pointer &parent()        {  return mp_parent; }
-   const basic_node_pointer &left()   const  {  return mp_left;   }
-         basic_node_pointer &left()          {  return mp_left;   }
-   const basic_node_pointer &right()  const  {  return mp_right;  }
-         basic_node_pointer &right()         {  return mp_right;  }
-   const color_t      &color()  const        {  return m_color;   }
-         color_t      &color()               {  return m_color;   }
-   private:
-   basic_node_pointer   mp_parent;
-   basic_node_pointer   mp_left;
-   basic_node_pointer   mp_right;
-   color_t              m_color; 
-};
-
-/*!Basic red-black tree functions that don't need 
-   comparison operator*/
-template <class NodeBase>
-class rb_tree_algo
-{
-   typedef  typename NodeBase::basic_node_pointer basic_node_pointer;
-   public:
-   static basic_node_pointer next_node(basic_node_pointer node)
-   {
-      if (node->right()) {
-         node = node->right();
-         while (node->left()){
-            node = node->left();
-         }
-      }
-      else{
-         basic_node_pointer y = node->parent();
-         while (node == y->right()) {
-            node = y;
-            y = y->parent();
-         }
-         if (node->right() != y)
-         node = y;
-      }
-      return node;
-   }
-
-   static basic_node_pointer previous_node(basic_node_pointer node)
-   {
-      if (node->color() == NodeBase::red_color &&
-         node->parent()->parent() == node){
-         node = node->right();
-      }
-      else if (node->left()) {
-         basic_node_pointer y = node->left();
-         while (y->right()){
-            y = y->right();
-         }
-         node = y;
-      }
-      else{
-         basic_node_pointer y = node->parent();
-         while (node == y->left()) {
-            node = y;
-            y = y->parent();
-         }
-         node = y;
-      }
-      return node;
-   }
-
-   static bool is_header (const basic_node_pointer p)
-   {
-      return p->color() == NodeBase::red_color && p->parent()->parent() == p;
-   }
-
-   static basic_node_pointer minimum_node(basic_node_pointer x)
-   {
-      while (x->left()){
-         x = x->left();
-      }
-      return x;
-   }
-
-   static basic_node_pointer maximum_node(basic_node_pointer x)
-   {
-      while (x->right()){
-         x = x->right();
-      }
-      return x;
-   }
-
-   static void replace_own (const basic_node_pointer &header, 
-                            const basic_node_pointer &own, 
-                            const basic_node_pointer &p)
-   {
-      if (header->parent() == own)
-         header->parent() = p;
-      else if (own->parent()->left() == own)
-         own->parent()->left() = p;
-      else
-         own->parent()->right() = p;
-   }
-
-   static void rotate_left(const basic_node_pointer &header, basic_node_pointer x)
-   {
-      basic_node_pointer y = x->right();
-      x->right() = y->left();
-      if (y->left() !=0)
-         y->left()->parent() = x;
-      y->parent() = x->parent();
-      replace_own(header, x, y);
-      y->left() = x;
-      x->parent() = y;
-   }
-
-   static void rotate_right(const basic_node_pointer &header, basic_node_pointer x)
-   {
-      basic_node_pointer y = x->left();
-      x->left() = y->right();
-      if (y->right())
-         y->right()->parent() = x;
-      y->parent() = x->parent();
-      replace_own(header, x, y);
-      y->right()  = x;
-      x->parent() = y;
-   }
-
-   static void rebalance(const basic_node_pointer &header, basic_node_pointer x)
-   {
-      x->color() = NodeBase::red_color;
-      while (x != header->parent() && x->parent()->color() == NodeBase::red_color) {
-         if (x->parent() == x->parent()->parent()->left()) {
-            basic_node_pointer y = x->parent()->parent()->right();
-            if (y && y->color() == NodeBase::red_color) {
-               x->parent()->color() = NodeBase::black_color;
-               y->color() = NodeBase::black_color;
-               x->parent()->parent()->color() = NodeBase::red_color;
-               x = x->parent()->parent();
-            }
-            else{
-               if (x == x->parent()->right()) {
-                  x = x->parent();
-                  rotate_left(header, x);
-               }
-               x->parent()->color() = NodeBase::black_color;
-               x->parent()->parent()->color() = NodeBase::red_color;
-               rotate_right(header, x->parent()->parent());
-            }
-         }
-         else{
-            basic_node_pointer y = x->parent()->parent()->left();
-            if (y && y->color() == NodeBase::red_color) {
-               x->parent()->color() = NodeBase::black_color;
-               y->color() = NodeBase::black_color;
-               x->parent()->parent()->color() = NodeBase::red_color;
-               x = x->parent()->parent();
-            }
-            else{
-               if (x == x->parent()->left()) {
-                  x = x->parent();
-                  rotate_right(header, x);
-               }
-               x->parent()->color() = NodeBase::black_color;
-               x->parent()->parent()->color() = NodeBase::red_color;
-               rotate_left(header, x->parent()->parent());
-            }
-         }
-      }
-      header->parent()->color() = NodeBase::black_color;
-   }
-
-   static basic_node_pointer erase_node 
-            (const basic_node_pointer &header, basic_node_pointer z)
-   {
-      basic_node_pointer& root      = header->parent();
-      basic_node_pointer& leftmost  = header->left();
-      basic_node_pointer& rightmost = header->right();
-      basic_node_pointer y = z;
-      basic_node_pointer x = 0;
-      basic_node_pointer x_parent = 0;
-      if (!y->left())     // z has at most one non-null child. y == z.
-         x = y->right();     // x might be null.
-      else
-         if (!y->right())  // z has exactly one non-null child. y == z.
-            x = y->left();    // x is not null.
-         else{                   // z has two non-null children.  Set y to
-            y = y->right();   //   z's successor.  x might be null.
-            while (y->left())
-               y = y->left();
-            x = y->right();
-         }
-      if (y != z) {          // relink y in place of z.  y is z's successor
-         z->left()->parent() = y; 
-         y->left() = z->left();
-         if (y != z->right()) {
-            x_parent = y->parent();
-            if (x) 
-               x->parent() = y->parent();
-            y->parent()->left() = x;      // y must be a child of mp_left
-            y->right() = z->right();
-            z->right()->parent() = y;
-         }
-         else
-            x_parent = y;
-
-         replace_own(header, z, y);
-         y->parent() = z->parent();
-         std::swap(y->color(), z->color());
-         y = z;
-         // y now points to node to be actually deleted
-      }
-      else{                        // y == z
-         x_parent = y->parent();
-         if (x) 
-            x->parent() = y->parent(); 
-
-         replace_own(header, z, x);
-  
-         if (leftmost == z) 
-            if (!z->right())        // z->left must be null also
-               leftmost = z->parent();
-            // makes leftmost == this->m_header if z == root
-            else
-               leftmost = minimum_node(x);
-         if (rightmost == z)  
-            if (!z->left())         // z->right must be null also
-               rightmost = z->parent();  
-            // makes rightmost == this->m_header if z == root
-            else                      // x == z->left
-               rightmost = maximum_node(x);
-      }
-      if (y->color() != NodeBase::red_color) { 
-         while (x != root && (!x || x->color() == NodeBase::black_color))
-            if (x == x_parent->left()) {
-               basic_node_pointer w = x_parent->right();
-               if (w->color() == NodeBase::red_color) {
-                  w->color() = NodeBase::black_color;
-                  x_parent->color() = NodeBase::red_color;
-                  rotate_left(header, x_parent);
-                  w = x_parent->right();
-               }
-               if ((!w->left() || 
-                     w->left()->color() == NodeBase::black_color) &&
-                     (!w->right() || 
-                     w->right()->color() == NodeBase::black_color)) {
-                  w->color() = NodeBase::red_color;
-                  x = x_parent;
-                  x_parent = x_parent->parent();
-               }
-               else{
-                  if (!w->right() || 
-                     w->right()->color() == NodeBase::black_color) {
-                     if (w->left()) 
-                        w->left()->color() = NodeBase::black_color;
-                     w->color() = NodeBase::red_color;
-                     rotate_right(header, w);
-                     w = x_parent->right();
-                  }
-                  w->color() = x_parent->color();
-                  x_parent->color() = NodeBase::black_color;
-                  if (w->right()) 
-                     w->right()->color() = NodeBase::black_color;
-                  rotate_left(header, x_parent);
-                  break;
-               }
-            } 
-            else{
-               // same as above, with mp_right <-> mp_left.
-               basic_node_pointer w = x_parent->left();
-               if (w->color() == NodeBase::red_color) {
-                  w->color() = NodeBase::black_color;
-                  x_parent->color() = NodeBase::red_color;
-                  rotate_right(header, x_parent);
-                  w = x_parent->left();
-               }
-               if ((!w->right() || 
-                     w->right()->color() == NodeBase::black_color) &&
-                     (!w->left() || 
-                     w->left()->color() == NodeBase::black_color)) {
-                  w->color() = NodeBase::red_color;
-                  x = x_parent;
-                  x_parent = x_parent->parent();
-               }
-               else{
-                  if (!w->left() || 
-                     w->left()->color() == NodeBase::black_color) {
-                     if (w->right()) 
-                        w->right()->color() = NodeBase::black_color;
-                     w->color() = NodeBase::red_color;
-                     rotate_left(header, w);
-                     w = x_parent->left();
-                  }
-                  w->color() = x_parent->color();
-                  x_parent->color() = NodeBase::black_color;
-                  if (w->left()) 
-                     w->left()->color() = NodeBase::black_color;
-                  rotate_right(header, x_parent);
-                  break;
-               }
-            }
-         if (x) 
-            x->color() = NodeBase::black_color;
-      }
-      return y;
-   }
-
-   static basic_node_pointer link_and_rebalance
-      (basic_node_pointer header, bool link_left, basic_node_pointer y, basic_node_pointer z)
-   {
-
-      z->parent() = y;
-      z->left()   = 0;
-      z->right()  = 0;
-
-      //when y == _header
-      if (y == header) {
-         header->left()    = z;
-         header->parent()  = z;
-         header->right()   = z;
-      }
-      else if (link_left) {
-         y->left()      = z;  
-         if (y == header->left()){
-            header->left() = z;  // maintain header->right() pointing to max node
-         }
-      }
-      else{
-         y->right() = z;
-         if (y == header->right()){
-            header->right() = z;  // maintain header->right() pointing to max node
-         }
-      }
-      rebalance(header, z);
-      return z;
-/*
-      if (link_left) {
-         y->left() = z;               // also makes header->left() = z 
-                                      //    when y == _header
-         if (y == header) {
-            header->parent() = z;
-            header->right() = z;
-         }
-         else if (y == header->left())
-            header->left() = z;   // maintain header->left() pointing to min node
-      }
-      else{
-         y->right() = z;
-         if (y == header->right())
-            header->right() = z;  // maintain header->right() pointing to max node
-      }
-      z->parent() = y;
-      z->left()   = 0;
-      z->right()  = 0;
-      rebalance(header, z);
-      return z;*/
-   }
-
-   static void clear(basic_node_pointer header)
-   {
-      header->left()    = header;
-      header->right()   = header;
-      header->parent()  = 0;
-   }
-
-   static bool empty(const basic_node_pointer &header)  { return !header->parent(); }
-};
-
-/*!Basic red-black tree functions that only need 
-   the comparison functor and functors to obtain the 
-   key from a value*/
-
-template <class Node, class Key, class KeyOfValue, 
-          class KeyCompare>
-class rb_tree_func : public rb_tree_algo<Node>
-{
-   typedef rb_tree_algo<rb_tree_node_base<typename pointer_to_other
-      <typename Node::basic_node_pointer, void>::type> >     rb_tree_algo_t;
-
-//   typedef rb_tree_algo<Node>                      rb_tree_algo_t;
-   typedef typename Node::node_pointer             node_pointer;
-   typedef typename Node::basic_node_pointer       basic_node_pointer;
-
-   static bool node_compare (const KeyCompare   &key_compare,
-                             const node_pointer &node, 
-                             const node_pointer &other_node)
-   {
-      return key_compare(KeyOfValue()(node->value()), 
-                         KeyOfValue()(other_node->value()));
-   }
-
-   public:
-
-   struct insert_unique_context
-   {
-      bool link_left;
-      basic_node_pointer node;
-   };
-
-   static node_pointer find(const node_pointer &header, 
-                            const KeyCompare &key_compare, 
-                            const Key& k)
-   {
-      basic_node_pointer y = header;               // Last node which is not less than k. 
-      basic_node_pointer x = header->parent();     // Current node. 
-      while (x) {
-         if (!(key_compare(KeyOfValue()(Node::downcast(x)->value()), k))){
-            y = x, x = x->left();
-         }
-         else{
-            x = x->right();
-         }
-      }
-      
-      if(y == header || key_compare(k, KeyOfValue()(Node::downcast(y)->value()))){
-         y = header;
-      }
-      return Node::downcast(y);
-   }
-
-   static node_pointer upper_bound(const node_pointer &header, 
-                                   const KeyCompare &key_compare, 
-                                   const Key& k)
-   {
-      basic_node_pointer y = header;            //Last node which is greater than k.
-      basic_node_pointer x = header->parent();  //Current node.
-
-      while (x){
-         if (key_compare(k, KeyOfValue()(Node::downcast(x)->value()))){
-            y = x, x = x->left();
-         }
-         else{
-            x = x->right();
-         }
-      }
-      return Node::downcast(y);
-   }
-
-   static node_pointer lower_bound(const node_pointer &header, 
-                                   const KeyCompare  &key_compare,
-                                   const Key& k)
-   {
-      basic_node_pointer y = header;   // Last node which is not less than k.
-      basic_node_pointer x = header->parent();        // Current node.
-
-      while (x){
-         if (!key_compare(KeyOfValue()(Node::downcast(x)->value()), k)){
-            y = x, x = x->left();
-         }
-         else{
-            x = x->right();
-         }
-      }
-      return Node::downcast(y);
-   }
-
-   static bool insert_unique (const node_pointer &header, 
-                              const KeyCompare  &key_compare,
-                              node_pointer &new_node, 
-                              node_pointer &out)
-   {
-      insert_unique_context  context;
-      if(!insert_unique_prepare(header, key_compare, KeyOfValue()(new_node->value()), out, context)){
-         return false;
-      }
-      insert_unique_commit(header, key_compare, new_node, out, context);
-      return true;
-   }
-
-   static bool insert_unique_hint(const node_pointer &header, 
-                                  const KeyCompare  &key_compare,
-                                  const node_pointer &hint, 
-                                  node_pointer &new_node,
-                                  node_pointer &out)
-   {
-      insert_unique_context context;
-      if(!insert_unique_hint_prepare
-            (header, hint, key_compare, KeyOfValue()(new_node->value()), out, context)){
-         return false;
-      }
-      insert_unique_commit(header, key_compare, new_node, out, context);
-      return true;
-   }
-
-   static bool insert_unique_prepare (const node_pointer & header, 
-                                      const KeyCompare  &key_compare,
-                                      const Key &key,
-                                      insert_unique_context &context)
-   {
-      basic_node_pointer x(header->parent());
-      basic_node_pointer y(header);
-      basic_node_pointer prev(0);
-
-      //Find the upper bound, and cache the previous value and if we should
-      //store it in the left or right node
-      bool left_child = true;
-      while (x) {
-         y = x;
-         x = (left_child = key_compare(key, KeyOfValue()(Node::downcast(x)->value())))
-               ? (x->left()) 
-               : (prev = y, x->right());
-      }
-
-      //Since we've found the upper bound there is no other value with the same key if:
-      //    - There is no previous node
-      //    - The previous node is less than the key
-	   if(!prev || key_compare(KeyOfValue()(Node::downcast(prev)->value()), key)){
-         context.link_left = left_child;
-         context.node      = y;
-         return true;
-	   }
-      //If the previous value was not less than key, it means that it's equal
-      //(because we've checked the upper bound)
-      else{
-         context.node = prev;
-         return false;
-      }
-   }
-
-   static bool insert_unique_hint_prepare(const node_pointer &header,
-                                          const KeyCompare  &key_compare,
-                                          const node_pointer &hint, 
-                                          const Key &key,
-                                          insert_unique_context &context)
-   {
-      //hint must be bigger than the key
-	   if (hint == header || key_compare(key, KeyOfValue()(hint->value()))){
-		   node_pointer prev = hint;
-         //The previous value should be less than the key
-		   if (prev == header->left() || 
-            key_compare(KeyOfValue()((prev = Node::downcast(previous_node(hint)))->value()), key)){
-            context.link_left = empty(header) || !hint->left();
-            context.node      = context.link_left ? hint : prev;
-            return true;
-		   }
-         //The value is already present
-         else{
-            context.link_left = false;
-            context.node      = prev;
-            return false;
-         }
-	   }
-      //The hint was wrong, use hintless insert
-      else{
-         return insert_unique_prepare(header, key_compare, key, context);
-      }
-   }
-
-   static void insert_unique_commit (const node_pointer &header,
-                                     const KeyCompare  &key_compare, 
-                                     node_pointer &new_node, 
-                                     insert_unique_context &context)
-   {
-      rb_tree_algo_t::link_and_rebalance
-         (header, context.link_left, context.node, new_node);
-   }
-
-   static void insert_equal (const node_pointer & header, 
-                             const KeyCompare  &key, 
-                             node_pointer &new_node)
-   {
-      insert_equal_upper(header, key, new_node);
-   }
-
-   static void insert_equal_lower  (const node_pointer & header, 
-                                    const KeyCompare  &key, 
-                                    node_pointer &new_node)
-   {
-      basic_node_pointer y = header;
-      basic_node_pointer x = header->parent();
-
-      while (x) {
-         y = x;
-         x = !node_compare(key, Node::downcast(x), new_node) 
-               ? x->left() : x->right();
-      }
-
-      bool link_left = (y == header) || !node_compare(key, Node::downcast(y), new_node);
-      rb_tree_algo_t::link_and_rebalance(header, link_left, y, new_node);
-   }
-
-   static void insert_equal_upper  (const node_pointer & header, 
-                                    const KeyCompare  &key, 
-                                    node_pointer &new_node)
-   {
-      basic_node_pointer y = header;
-      basic_node_pointer x = header->parent();
-
-      while (x) {
-         y = x;
-         x = node_compare(key, new_node, Node::downcast(x)) 
-               ? x->left() : x->right();
-      }
-
-      bool link_left = (y == header) || node_compare(key, new_node, Node::downcast(y));
-      rb_tree_algo_t::link_and_rebalance(header, link_left, y, new_node);
-   }
-
-   static void insert_equal_hint (const node_pointer & header,
-                                  const KeyCompare  &key_compare, 
-                                  const node_pointer &hint, 
-                                  node_pointer &new_node)
-   {
-      if(hint == header || !node_compare(key_compare, hint, new_node)){
-         node_pointer prev;
-         if(hint == header->left() || 
-            !node_compare(key_compare, new_node, 
-               (prev = Node::downcast(previous_node(hint))))){
-            bool link_left = empty(header) || !hint->left();
-            rb_tree_algo_t::link_and_rebalance
-               (header, link_left, link_left ? hint : prev, new_node);
-         }
-         else{
-            insert_equal_upper(header, key_compare, new_node);
-         }
-      }
-      else{
-         insert_equal_lower(header, key_compare, new_node);
-      }
-   }
-
-   static std::size_t erase_with_key(const node_pointer &header, 
-                                     const KeyCompare  &key_compare, 
-                                     const Key& k)
-   {
-      node_pointer lower, upper, tmp;
-      rb_tree_algo_t::equal_range(header, k, lower, upper);
-      std::size_t count = 0;
-      
-      while(lower != upper){
-         tmp = lower;
-         lower = rb_tree_algo_t::next_node(lower);
-         rb_tree_algo_t::erase(header, tmp);
-         ++count;
-      }
-      return count;
-   }
-
-   static void equal_range(const node_pointer &header,
-                           const KeyCompare  &key_compare,
-                           const Key& k,
-                           node_pointer &lower,
-                           node_pointer &upper)
-   {
-//      lower = lower_bound(header, key_compare, k);
-//      upper = upper_bound(header, key_compare, k);
-      basic_node_pointer y = header;   // Last node which is not less than k.
-      basic_node_pointer x = header->parent();        // Current node.
-
-      while (x){
-         //Execute common logic
-         if (key_compare(KeyOfValue()(Node::downcast(x)->value()), k)){
-            x = x->right();
-         }
-         else if (key_compare(k, KeyOfValue()(Node::downcast(x)->value()))){
-            y = x, x = x->left();
-         }
-         //Now lower and upper bounds needs to follow different subtrees
-         else{
-            basic_node_pointer xu(x), yu(y);
-            y = x, x = x->left();
-            xu = xu->right();
-
-            while (x){
-               if (key_compare(KeyOfValue()(Node::downcast(x)->value()), k)){
-                  x = x->right();
-               }
-               else{
-                  y = x, x = x->left();
-               }
-            }
-            while (xu){
-               if (key_compare(k, KeyOfValue()(Node::downcast(xu)->value()))){
-                  yu = xu, xu = xu->left();
-               }
-               else{
-                  xu = xu->right();
-               }
-            }
-            lower = Node::downcast(y);
-            upper = Node::downcast(yu);
-            return;
-         }
-      }
-      lower = upper = Node::downcast(y);
-   }
-
-   static std::size_t count(const node_pointer &header, 
-                            const KeyCompare   &key_compare,
-                            const Key& k)
-   {
-      node_pointer lower, upper;
-      equal_range(header, key_compare, k, lower, upper);
-      std::size_t count = 0;
-      while(lower != upper){
-         lower = Node::downcast(rb_tree_algo_t::next_node(lower));
-         ++count;
-      }
-      return count;
-   }
-
-};
-
-template <class Node>
-class rb_tree_const_iterator
-   : public boost::iterator<std::bidirectional_iterator_tag, 
-                            typename Node::value_type,        
-                            typename Node::difference_type, 
-                            typename Node::const_pointer,      
-                            typename Node::const_reference>
-{
-   private:
-   typedef boost::iterator<std::bidirectional_iterator_tag, 
-                           typename Node::value_type,        
-                           typename Node::difference_type, 
-                           typename Node::const_pointer,      
-                           typename Node::const_reference> base_t;
-
-   protected:
-   typedef typename Node::node_pointer                node_pointer;
-   typedef typename Node::basic_node_pointer          basic_node_pointer;
-   typedef rb_tree_algo<Node>                         rb_tree_algo_t;
-   node_pointer mp_node;
-
-   public: 
-   typedef typename base_t::pointer                   pointer;
-   typedef typename base_t::reference                 reference;
-   typedef typename base_t::difference_type           difference_type;
-   typedef typename base_t::iterator_category         iterator_category;
-   typedef typename base_t::value_type                value_type;
-
-   rb_tree_const_iterator() 
-      {}
-/*
-   explicit rb_tree_const_iterator(const node_pointer &x) 
-      : mp_node(x)
-      {}
-
-*/
-   explicit rb_tree_const_iterator(const basic_node_pointer &x) 
-      : mp_node(Node::downcast(x))
-      {}
-
-   rb_tree_const_iterator(const rb_tree_const_iterator & it)
-      : mp_node(it.get_ptr())
-      {}
-
-   reference operator*() const 
-      {  return mp_node->value(); }
-
-   pointer operator->() const 
-      {  return pointer(&mp_node->value()); }
-
-   rb_tree_const_iterator& operator++() 
-   {  
-      mp_node = Node::downcast(rb_tree_algo_t::next_node(mp_node)); 
-      return *this; 
-   }
-
-   rb_tree_const_iterator operator++(int) 
-   {  
-      rb_tree_const_iterator tmp = *this;  
-      mp_node = rb_tree_algo_t::next_node(mp_node);  
-      return tmp; 
-   }
-         
-   rb_tree_const_iterator& operator--() 
-   { 
-      mp_node = rb_tree_algo_t::previous_node(mp_node); 
-      return *this; 
-   }
-
-   rb_tree_const_iterator operator--(int) 
-   {  
-      rb_tree_const_iterator tmp = *this;  
-      mp_node = rb_tree_algo_t::previous_node(mp_node);   
-      return tmp; 
-   }
-
-   friend bool operator==(const rb_tree_const_iterator& x, const rb_tree_const_iterator& y) 
-      {  return x.get_ptr() == y.get_ptr();   }
-
-   friend bool operator!=(const rb_tree_const_iterator& x, const rb_tree_const_iterator& y) 
-      {  return x.get_ptr() != y.get_ptr();   }
-
-   node_pointer &get_ptr()
-      {  return mp_node;   }
-
-   const node_pointer &get_ptr() const
-      {  return mp_node;   }
-};
-
-//list rb_tree_iterator
-template <class Node>
-class rb_tree_iterator : public rb_tree_const_iterator<Node>
-{
-	private:
-   typedef rb_tree_const_iterator<Node>                  base_t;
-   typedef typename base_t::node_pointer                 node_pointer;
-   typedef typename base_t::basic_node_pointer           basic_node_pointer;
-	public:
-   typedef typename Node::pointer                        pointer;
-   typedef typename Node::reference                      reference;
-
-   //Constructors
-	rb_tree_iterator()
-   {}
-/*
-	explicit rb_tree_iterator(const node_pointer &ptr) 
-      : base_t(ptr)
-   {}
-*/
-	explicit rb_tree_iterator(const basic_node_pointer &ptr) 
-      : base_t(ptr)
-   {}
-
-   //Pointer like operators
-	reference operator*()  const {  return  this->mp_node->value();  }
-	pointer   operator->() const {  return  pointer(&this->mp_node->value());  }
-
-   //Increment / Decrement
-	rb_tree_iterator& operator++()  
-      {  base_t::operator++(); return *this;  }
-
-	rb_tree_iterator operator++(int)
-      { node_pointer tmp = this->mp_node; ++*this; return rb_tree_iterator(tmp); }
-	
-   rb_tree_iterator& operator--()
-   	{  base_t::operator--(); return *this;  }
-
-	rb_tree_iterator operator--(int)
-	   {  rb_tree_iterator tmp = *this; --*this; return tmp; }
-};
-
-} //namespace detail {
-} //namespace interprocess  {
-} //namespace boost  {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_TREE_FUNC_HPP
-
Deleted: branches/hash/boost/interprocess/containers/tree.hpp
==============================================================================
--- branches/hash/boost/interprocess/containers/tree.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
+++ (empty file)
@@ -1,839 +0,0 @@
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.  Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied warranty.
- *
- */
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztañaga 2005-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)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-// This file comes from SGI's stl_tree file. Modified by Ion Gaztañaga 2005.
-// Renaming, isolating and porting to generic algorithms. Pointer typedef 
-// set to allocator::pointer to allow placing it in shared memory.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_TREE_HPP
-#define BOOST_INTERPROCESS_TREE_HPP
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/interprocess/detail/move.hpp>
-#include <boost/interprocess/detail/utilities.hpp>
-#include <boost/interprocess/containers/detail/tree_func.hpp>
-#include <boost/interprocess/smart_ptr/scoped_ptr.hpp>
-#include <boost/detail/allocator_utilities.hpp>
-#include <boost/interprocess/detail/generic_cast.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-#include <boost/type_traits/has_trivial_constructor.hpp>
-#include <boost/type_traits/has_trivial_destructor.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/mpl/if.hpp>
-
-#include <iterator>
-#include <algorithm>
-
-//Red-black tree class, designed for use in implementing STL
-//associative containers (set, multiset, map, and multimap). The
-//insertion and deletion algorithms are based on those in Cormen,
-//Leiserson, and Rivest, Introduction to Algorithms (MIT Press, 1990),
-//except that
-//
-//(1) the header cell is maintained with links not only to the root
-//but also to the leftmost node of the tree, to enable constant time
-//this->begin(), and to the rightmost node of the tree, to enable linear time
-//performance when used with the generic set algorithms (set_union,
-//etc.);
-//
-//(2) when a node being deleted has two children its successor node is
-//relinked into its place, rather than copied, so that the only
-//iterators invalidated are those referring to the deleted node.
-
-namespace boost { namespace interprocess { namespace detail {
-
-template <class Alloc>
-struct rb_tree_node
-   : rb_tree_node_base<typename pointer_to_other<typename Alloc::pointer, void>::type>
-{
-   typedef rb_tree_node_base<typename pointer_to_other
-      <typename Alloc::pointer, void>::type>          base_t;
-   typedef typename boost::detail::allocator::
-         rebind_to<Alloc, rb_tree_node<Alloc> >::type node_allocator_t;
-
-   typedef typename base_t::basic_node_pointer        basic_node_pointer;
-   typedef typename node_allocator_t::pointer         node_pointer;
-   typedef typename Alloc::value_type                 value_type;
-   typedef typename Alloc::const_pointer              const_pointer;
-   typedef typename Alloc::pointer                    pointer;
-   typedef typename Alloc::const_reference            const_reference;
-   typedef typename Alloc::reference                  reference;
-   typedef typename Alloc::difference_type            difference_type;
-
-   rb_tree_node(const value_type & value) 
-      : m_value(value)
-   {}
-
-   rb_tree_node(const detail::moved_object<value_type> & value) 
-      : m_value(move(value.get()))
-   {}
-
-   static node_pointer downcast(basic_node_pointer upclass_pointer/*const basic_node_pointer &upclass_pointer*/)
-   {
-      return boost::interprocess::cast_to<node_pointer>::using_static_cast(upclass_pointer);
-//      return boost::interprocess::do_static_cast<node_pointer>(upclass_pointer);
-   }
-
-   const value_type &value() const   {  return m_value; }
-         value_type &value()         {  return m_value; }
-   private:
-   value_type     m_value;
-};
-
-template <class T, class Alloc>
-class rb_tree_alloc_base/*<T, Alloc, true>*/
-   //Inherit from node allocator
-   : public boost::detail::allocator::
-         rebind_to<Alloc, rb_tree_node<Alloc> >::type
-{
-   public:
-   typedef typename boost::detail::allocator::
-      rebind_to<Alloc, rb_tree_node<Alloc> >::type       node_allocator_t;
-   typedef typename node_allocator_t::value_type         node_val_t;
-   typedef typename node_allocator_t::pointer            node_pointer;
-
-   typedef typename boost::detail::allocator::
-      rebind_to<Alloc, T>::type                          value_allocator_t;
-   typedef typename value_allocator_t::value_type        value_val_t;
-   typedef typename value_allocator_t::pointer           value_ptr_t;
-   typedef typename value_allocator_t::const_pointer     value_cptr_t;
-   typedef typename value_allocator_t::reference         value_ref_t;
-   typedef typename value_allocator_t::const_reference   value_cref_t;
-
-   typedef typename boost::detail::allocator::
-         rebind_to<Alloc, typename node_val_t::
-                    basic_node_pointer>::type               basic_node_ptr_allocator_t;
-   typedef typename basic_node_ptr_allocator_t::pointer     basic_node_ptr_ptr_t;
-   typedef typename basic_node_ptr_allocator_t::value_type  basic_node_ptr_t;
-
-   typedef typename node_val_t::base_t                  base_node_t;
-
-   typedef detail::scoped_deallocator<node_allocator_t>  NodeDeallocator;
-   typedef detail::scoped_destructor <basic_node_ptr_allocator_t> BasicPtrDestructor;
-
-   rb_tree_alloc_base(const value_allocator_t& a)
-      :  node_allocator_t(a)
-      {  this->initialize_when_empty();   }
-
-   rb_tree_alloc_base(const rb_tree_alloc_base &x)
-      :  node_allocator_t(x)
-      {  this->initialize_when_empty();   }
-
-   rb_tree_alloc_base(const detail::moved_object<rb_tree_alloc_base> &x)
-      :  node_allocator_t(move((node_allocator_t&)x.get()))
-      {  this->initialize_when_empty();   this->swap(x.get()); }
-
-   ~rb_tree_alloc_base()
-      {  this->uninitialize_when_empty(); }
-
-   template<class Convertible>
-   static void construct(const node_pointer &ptr, const Convertible &value)
-   {  new(detail::get_pointer(ptr)) node_val_t(value);  }
-
-   template<class Convertible1, class Convertible2>
-   static void construct(const node_pointer &ptr, 
-                         const detail::moved_object<std::pair<Convertible1, Convertible2> > &value)
-   {  
-      //std::pair is not movable so we define our own type and overwrite it
-      typedef detail::pair<typename node_val_t::value_type::first_type
-                          ,typename node_val_t::value_type::second_type> hack_pair_t;
-
-      typedef typename boost::detail::allocator::
-            rebind_to<Alloc, hack_pair_t>::type hack_pair_allocator_t;
-
-      typedef rb_tree_node<hack_pair_allocator_t>  hack_node_t;
-
-      new((void*)detail::get_pointer(ptr)) hack_node_t(value);  
-   }
-
-   static void destroy(const node_pointer &ptr)
-   {  detail::get_pointer(ptr)->~node_val_t();  }
-
-   template<class Convertible>
-      node_pointer allocate_and_construct_node(const Convertible &x)
-   {
-      node_pointer p = node_allocator_t::allocate(1);
-      scoped_ptr<node_val_t, NodeDeallocator>node_deallocator(p, *this);
-//      node_allocator_t::construct(p, x);      
-      construct(p, x);
-      node_deallocator.release();
-      return p;
-   }
-
-   void destroy_and_deallocate_node(node_pointer p)
-   {
-      node_allocator_t::destroy(p);
-      node_allocator_t::deallocate(p, 1);
-   }
-
-   typename node_allocator_t::size_type max_size() const
-      {  return node_allocator_t::max_size();  }
-
-   void swap (rb_tree_alloc_base &x)
-   {
-      node_allocator_t& this_alloc  = static_cast<node_allocator_t&>(*this);
-      node_allocator_t& other_alloc = static_cast<node_allocator_t&>(x);
-      if (this_alloc != other_alloc){
-         detail::do_swap(this_alloc, other_alloc);
-      }
-
-      std::swap(this->m_end, x.m_end);
-
-      if (this->m_end.parent())
-         this->m_end.parent()->parent() = this->end_node();
-      else
-         this->m_end.left() = this->m_end.right() = this->end_node();
-
-      if (x.m_end.parent())
-         x.m_end.parent()->parent() = x.end_node();
-      else
-         x.m_end.left() = x.m_end.right() = x.end_node();
-   /*
-      node_allocator_t& this_alloc  = static_cast<node_allocator_t&>(*this);
-      node_allocator_t& other_alloc = static_cast<node_allocator_t&>(x);
-      if (this_alloc != other_alloc){
-         detail::do_swap(this_alloc, other_alloc);
-      }
-      detail::do_swap(this->m_header, x.m_header);     
-*/
-   }
-
-   private:
-   void initialize_when_empty()
-   {
-/*
-      this->m_header = node_allocator_t::allocate(1); 
-
-      //If the pointer type a has trivial constructor we can avoid this
-      if(!boost::has_trivial_constructor<node_pointer>::value){
-         basic_node_ptr_allocator_t node_ptr_allocator(*this);
-         scoped_ptr<node_val_t, NodeDeallocator>node_deallocator(this->m_header, *this);
-         basic_node_ptr_ptr_t pleft(node_ptr_allocator.address(this->m_header->left())), 
-            pright(node_ptr_allocator.address(this->m_header->right())),
-            pparent(node_ptr_allocator.address(this->m_header->parent()));
-
-         //Make sure destructors are called before memory is freed
-         //if an exception is thrown
-         {
-            node_ptr_allocator.construct(pleft, basic_node_ptr_t());
-            scoped_ptr<basic_node_ptr_t, BasicPtrDestructor>
-               left_destroy(pleft, node_ptr_allocator);
-
-            node_ptr_allocator.construct(pright, basic_node_ptr_t());
-            scoped_ptr<basic_node_ptr_t, BasicPtrDestructor>
-               right_destroy(pright, node_ptr_allocator);
-
-            node_ptr_allocator.construct(pparent, basic_node_ptr_t());
-
-            left_destroy.release();
-            right_destroy.release();
-         }
-         node_deallocator.release();
-      }
-*/
-      //m_value is not constructed since it is not used
-      //m_color is POD so we don't need to construct it.
-      //used to distinguish header from root, in iterator.operator++
-      this->m_end.color()  = node_val_t::red_color; 
-      this->m_end.parent() = 0;
-      this->m_end.left()   = this->end_node();
-      this->m_end.right()  = this->end_node();
-
-/*
-      //m_value is not constructed since it is not used
-      //m_color is POD so we don't need to construct it
-      this->m_header->color() = node_val_t::red_color; // used to distinguish header from 
-      // root, in iterator.operator++
-      this->m_header->parent() = 0;
-      this->m_header->left()  = this->m_header;
-      this->m_header->right() = this->m_header;
-*/
-   }
-
-   void uninitialize_when_empty()
-   {/*
-      if(this->m_header){
-         //If the pointer type a has trivial destructor we can avoid this
-         if(!boost::has_trivial_destructor<node_pointer>::value){
-            basic_node_ptr_allocator_t node_ptr_allocator(*this);
-            //Destructors must not throw
-            node_ptr_allocator.destroy(node_ptr_allocator.address(this->m_header->left()));
-            node_ptr_allocator.destroy(node_ptr_allocator.address(this->m_header->right()));
-            node_ptr_allocator.destroy(node_ptr_allocator.address(this->m_header->parent()));
-         }
-         //m_color is POD so we don't need to destroy it
-         //m_value was not constructed so we don't need to destroy it
-         node_allocator_t::deallocate(this->m_header, 1);
-      }*/
-   }
-
-   protected:
-
-   basic_node_ptr_t end_node() const
-   {  return basic_node_ptr_t(const_cast<base_node_t *>(&m_end));  }
-
-   base_node_t m_end;
-//   node_pointer m_header;
-   
-};
-
-template <class Key, class Value, class KeyOfValue, 
-          class Compare, class Alloc>
-class rb_tree
-   : protected rb_tree_alloc_base<Value, Alloc/*, 
-               has_convertible_construct<Alloc>::value*/>
-{
- private:
-   typedef rb_tree_alloc_base<Value, Alloc/*, 
-               has_convertible_construct<Alloc>::value*/> base_t;
-   typedef typename base_t::node_pointer              node_pointer;
-   typedef typename base_t::node_val_t                node_val_t;
-   typedef typename node_val_t::basic_node_pointer    basic_node_pointer;
-   typedef rb_tree_algo<node_val_t>                   rb_tree_algo_t;
-   typedef rb_tree_func<node_val_t, Key,
-                        KeyOfValue, Compare >         rb_tree_func_t;
-
-   public:
-   typedef Key                                        key_type;
-   typedef Value                                      value_type;
-   typedef typename base_t::value_ptr_t               pointer;
-   typedef typename base_t::value_cptr_t              const_pointer;
-   typedef typename base_t::value_ref_t               reference;
-   typedef typename base_t::value_cref_t              const_reference;
-   typedef typename base_t::value_allocator_t         allocator_type;
-   typedef typename allocator_type::size_type         size_type;
-   typedef typename allocator_type::difference_type   difference_type;
-   typedef rb_tree_const_iterator<node_val_t>         const_iterator;
-   typedef rb_tree_iterator<node_val_t>               iterator;
-	typedef boost::reverse_iterator<iterator>          reverse_iterator;
-	typedef boost::reverse_iterator<const_iterator>    const_reverse_iterator;
-
-   rb_tree(const Compare& comp = Compare(), 
-           const allocator_type& a = allocator_type())
-      : base_t(a), m_data(comp, 0)
-      { }
-
-   rb_tree(const rb_tree& x) 
-      :  base_t(x),
-         m_data(x.get_compare(), 0)
-   { 
-      if (x.root()){
-         this->m_end.color() = node_val_t::red_color;
-         this->root()= 
-            this->copy_node(node_val_t::downcast(this->m_end.parent()), 
-                            this->end_node());
-         this->leftmost()  = 
-            rb_tree_algo_t::minimum_node(node_val_t::downcast(this->root()));
-         this->rightmost() = 
-            rb_tree_algo_t::maximum_node(node_val_t::downcast(this->root()));
-      }
-
-      this->m_data.m_node_count = x.m_data.m_node_count;
-   }
-
-   rb_tree(const detail::moved_object<rb_tree>& x) 
-      :  base_t(move((base_t&)x.get())),
-         m_data(move(x.get().get_compare()), 0)
-   { 
-      x.get().m_data.m_node_count = 0;
-   }
-
-   ~rb_tree() { this->clear(); }
-
-   rb_tree&  operator=(const rb_tree& x)
-   {
-      if (this != &x) {
-         // Note that Key may be a constant type.
-         this->clear();
-         this->m_data.m_node_count = 0;
-         this->get_compare() = x.get_compare();        
-         if (!x.root()) {
-            this->root() = 0;
-            this->leftmost()  = this->end_node();
-            this->rightmost() = this->end_node();
-         }
-         else{
-            this->root()      = this->copy_node(x.root(), this->end_node());
-            this->leftmost()  = 
-               rb_tree_algo_t::minimum_node(node_val_t::downcast(this->root()));
-            this->rightmost() = 
-               rb_tree_algo_t::maximum_node(node_val_t::downcast(this->root()));
-            this->m_data.m_node_count = x.m_data.m_node_count;
-         }
-      }
-      return *this;
-   }
-
-   public:    
-   // accessors:
-   Compare key_comp() const 
-      { return this->get_compare(); }
-
-   allocator_type get_allocator() const 
-      { return allocator_type(*this); }
-
-   iterator begin() 
-      {  basic_node_pointer a;
-         iterator b(a);
-
-         return iterator(this->leftmost()); }
-
-   const_iterator begin() const 
-      { return const_iterator(this->leftmost()); }
-
-   iterator end() 
-      { return iterator(this->end_node()); }
-
-   const_iterator end() const 
-      { return const_iterator(this->end_node()); }
-
-   reverse_iterator rbegin() 
-      { return reverse_iterator(this->end()); }
-
-   const_reverse_iterator rbegin() const 
-      {  return const_reverse_iterator(this->end());  }
-
-   reverse_iterator rend() 
-      { return reverse_iterator(this->begin()); }
-
-   const_reverse_iterator rend() const 
-      { return const_reverse_iterator(this->begin()); } 
-
-   bool empty() const 
-      { return !this->m_data.m_node_count; }
-
-   size_type size() const 
-      { return this->m_data.m_node_count; }
-
-   size_type max_size() const 
-      { return base_t::max_size(); }
-
-   void swap(rb_tree& t) 
-   {
-      detail::do_swap(this->m_data.m_node_count, t.m_data.m_node_count);
-      detail::do_swap(this->get_compare(), t.get_compare());
-      base_t::swap(t);
-   }
-
-   void swap(const detail::moved_object<rb_tree>& mt) 
-   {  this->swap(mt.get());   }
-
-   public:
-   // insert/erase
-   std::pair<iterator,bool> insert_unique(const value_type& v)
-   {
-      KeyOfValue  key_of_value;
-      typename rb_tree_func_t::insert_unique_context context;
-      if(!rb_tree_func_t::insert_unique_prepare
-            (node_val_t::downcast(this->end_node()), this->m_data, key_of_value(v), context)){
-         return std::pair<iterator,bool>(iterator(context.node), false);
-      }
-      node_pointer new_node = this->allocate_and_construct_node(v);      
-      ++this->m_data.m_node_count;
-      rb_tree_func_t::insert_unique_commit
-         (node_val_t::downcast(this->end_node()), this->m_data, new_node, context);
-      return std::pair<iterator,bool>(iterator(new_node), true);
-   }
-
-   template<class MovableConvertible>
-   std::pair<iterator,bool> insert_unique(const detail::moved_object<MovableConvertible>& mv)
-   {
-      MovableConvertible &v = mv.get();
-      KeyOfValue  key_of_value;
-      typename rb_tree_func_t::insert_unique_context context;
-      if(!rb_tree_func_t::insert_unique_prepare
-            (node_val_t::downcast(this->end_node()), this->m_data, key_of_value(v), context)){
-         return std::pair<iterator,bool>(iterator(context.node), false);
-      }
-      node_pointer new_node = this->allocate_and_construct_node(mv);      
-      ++this->m_data.m_node_count;
-      rb_tree_func_t::insert_unique_commit
-         (node_val_t::downcast(this->end_node()), this->m_data, new_node, context);
-      return std::pair<iterator,bool>(iterator(new_node), true);
-   }
-
-   iterator insert_unique(iterator hint, const value_type& v)
-   {
-      KeyOfValue  key_of_value;
-      typename rb_tree_func_t::insert_unique_context  context;
-      if(!rb_tree_func_t::insert_unique_hint_prepare
-            (node_val_t::downcast(this->end_node()), this->m_data, hint.get_ptr(), 
-             key_of_value(v), context)){
-         return iterator(context.node);
-      }
-      node_pointer new_node = this->allocate_and_construct_node(v);
-      ++this->m_data.m_node_count;
-      rb_tree_func_t::insert_unique_commit(node_val_t::downcast(this->end_node()), this->m_data, new_node, context);
-      return iterator(new_node);
-   }
-
-   template<class MovableConvertible>
-   iterator insert_unique(iterator hint, const detail::moved_object<MovableConvertible> &mv)
-   {
-      MovableConvertible &v = mv.get();
-      KeyOfValue  key_of_value;
-      typename rb_tree_func_t::insert_unique_context  context;
-      if(!rb_tree_func_t::insert_unique_hint_prepare
-            (node_val_t::downcast(this->end_node()), this->m_data, hint.get_ptr(), 
-             key_of_value(v), context)){
-         return iterator(context.node);
-      }
-      node_pointer new_node = this->allocate_and_construct_node(mv);
-      ++this->m_data.m_node_count;
-      rb_tree_func_t::insert_unique_commit(node_val_t::downcast(this->end_node()), this->m_data, new_node, context);
-      return iterator(new_node);
-   }
-
-   template <class InputIterator>
-   void insert_unique(InputIterator first, InputIterator last)
-   {
-      for ( ; first != last; ++first)
-         this->insert_unique(*first);
-   }
-
-   iterator insert_equal(const value_type& v)
-   {
-      node_pointer tmp = this->allocate_and_construct_node(v);
-      rb_tree_func_t::insert_equal(node_val_t::downcast(this->end_node()), this->m_data, tmp);
-      ++this->m_data.m_node_count;
-      return iterator(tmp);
-   }
-
-   template<class MovableConvertible>
-   iterator insert_equal(const detail::moved_object<MovableConvertible> &mv)
-   {
-      node_pointer tmp = this->allocate_and_construct_node(mv);
-      rb_tree_func_t::insert_equal(node_val_t::downcast(this->end_node()), this->m_data, tmp);
-      ++this->m_data.m_node_count;
-      return iterator(tmp);
-   }
-
-   iterator insert_equal(iterator hint, const value_type& v)
-   {
-      node_pointer tmp = this->allocate_and_construct_node(v);
-      rb_tree_func_t::insert_equal_hint(node_val_t::downcast(this->end_node()), this->m_data, 
-                                        hint.get_ptr(), tmp);
-      ++this->m_data.m_node_count;
-      return iterator(tmp);
-   }
-
-   template<class MovableConvertible>
-   iterator insert_equal(iterator hint, const detail::moved_object<MovableConvertible> &mv)
-   {
-      node_pointer tmp = this->allocate_and_construct_node(mv);
-      rb_tree_func_t::insert_equal_hint(node_val_t::downcast(this->end_node()), this->m_data, 
-                                        hint.get_ptr(), tmp);
-      ++this->m_data.m_node_count;
-      return iterator(tmp);
-   }
-
-   template <class InputIterator>
-   void insert_equal(InputIterator first, InputIterator last)
-   {
-      for ( ; first != last; ++first)
-         this->insert_equal(*first);
-   }
-
-   iterator erase(const_iterator position)
-   {
-      iterator ret(position.get_ptr());
-      ++ret;
-      node_pointer y = node_val_t::downcast
-         (rb_tree_func_t::erase_node(node_val_t::downcast(this->end_node()), position.get_ptr()));
-      this->destroy_and_deallocate_node(y);
-      --this->m_data.m_node_count;
-      return ret;
-   }
-
-   size_type erase(const key_type& x)
-   {
-      std::pair<iterator,iterator> p = this->equal_range(x);
-      size_type n = std::distance(p.first, p.second);
-      this->erase(p.first, p.second);
-      return n;
-   }
-
-   iterator erase(const_iterator first, const_iterator last)
-   {
-      if (first == this->begin() && last == this->end()){
-         this->clear();
-         return begin();
-      }
-      else{
-         while (first != last){
-            first = this->erase(first);
-         }
-         return iterator(last.get_ptr());
-      }
-   }
-
-   void clear() 
-   {
-      if (this->m_data.m_node_count) {
-         this->erase_node(node_val_t::downcast(this->root()));
-/*
-         this->m_end.color()  = node_val_t::red_color; 
-         this->m_end.parent() = 0;
-         this->m_end.left()   = this->end_node();
-         this->m_end.right()  = this->end_node();
-*/
-         this->m_end.color()  = node_val_t::red_color; 
-         this->root()      = 0;
-         this->leftmost()  = this->end_node();
-         this->rightmost() = this->end_node();
-
-         this->m_data.m_node_count  = 0;
-      }
-   }
-
-   // set operations:
-   iterator find(const key_type& k)
-      {  return iterator(rb_tree_func_t::find(node_val_t::downcast(this->end_node()), this->m_data, k));   }
-
-   const_iterator find(const key_type& k) const
-      {  return const_iterator(rb_tree_func_t::find(node_val_t::downcast(this->end_node()), this->m_data, k));   }
-
-   size_type count(const key_type& k) const
-      {  return size_type(rb_tree_func_t::count(node_val_t::downcast(this->end_node()), this->m_data, k)); }
-
-   iterator lower_bound(const key_type& k)
-      {  return iterator(rb_tree_func_t::lower_bound(node_val_t::downcast(this->end_node()), this->m_data, k));  }
-
-   const_iterator lower_bound(const key_type& k) const
-      {  return const_iterator(rb_tree_func_t::lower_bound(node_val_t::downcast(this->end_node()), this->m_data, k));  }
-
-   iterator upper_bound(const key_type& k)
-      {  return iterator (rb_tree_func_t::upper_bound(node_val_t::downcast(this->end_node()), this->m_data, k)); }
-
-   const_iterator upper_bound(const key_type& k) const
-      {  return const_iterator (rb_tree_func_t::upper_bound(node_val_t::downcast(this->end_node()), this->m_data, k)); }
-
-   std::pair<iterator,iterator> equal_range(const key_type& k)
-   {  
-      node_pointer lower, upper;
-      rb_tree_func_t::equal_range(node_val_t::downcast(this->end_node()), this->m_data, k, lower, upper);
-      return std::pair<iterator, iterator>(iterator(lower), iterator(upper));   
-   }
-
-   std::pair<const_iterator, const_iterator> equal_range(const key_type& k) const
-   {  
-      node_pointer lower, upper;
-      rb_tree_func_t::equal_range(node_val_t::downcast(this->end_node()), this->m_data, k, lower, upper);
-      return std::pair<const_iterator, const_iterator>(const_iterator(lower), const_iterator(upper));   
-   }
-
- private:
-   basic_node_pointer &root() const 
-      { return const_cast<basic_node_pointer &>(this->m_end.parent()); }
-
-   basic_node_pointer &leftmost() const 
-      { return const_cast<basic_node_pointer &>(this->m_end.left()); }
-
-   basic_node_pointer &rightmost() const 
-      { return const_cast<basic_node_pointer &>(this->m_end.right()); }
-
-   node_pointer clone_node(basic_node_pointer x)
-   {
-      basic_node_pointer tmp = this->allocate_and_construct_node(node_val_t::downcast(x)->value());
-      tmp->color() = x->color();
-      tmp->left()  = 0;
-      tmp->right() = 0;
-      return node_val_t::downcast(tmp);
-   }
-
-   const Compare & get_compare() const
-      {  return static_cast<const Compare&>(m_data);  }
-
-   Compare & get_compare()
-      {  return static_cast<Compare&>(m_data);  }
-
-   static const Key& get_node_key(node_pointer x)
-      { return KeyOfValue()(x->value()); }
-
-   node_pointer copy_node(basic_node_pointer x, basic_node_pointer p)
-   {
-      // structural copy.  x and p must be non-null.
-      node_pointer top = this->clone_node(x);
-      top->parent() = p;
-       
-      BOOST_TRY {
-         if (x->right())
-            top->right() = this->copy_node(x->right(), top);
-         p = top;
-         x = x->left();
-
-         while (x) {
-            node_pointer y = this->clone_node(x);
-            p->left() = y;
-            y->parent() = p;
-            if (x->right()){
-               y->right() = this->copy_node(x->right(), y);
-            }
-            p = y;
-            x = x->left();
-         }
-      }
-      BOOST_CATCH(...){
-         this->erase_node(top);
-         BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-
-      return top;
-   }
-
-   void erase_node(node_pointer x)
-   {
-      // erase without rebalancing
-      while (x) {
-         this->erase_node(node_val_t::downcast(x->right()));
-         node_pointer y = node_val_t::downcast(x->left());
-         this->destroy_and_deallocate_node(x);
-         x = y;
-      }
-   }
-
- private:
-   struct Data
-      : public Compare
-   {
-      Data(const Compare &comp, size_type node_count)
-         : Compare(comp), m_node_count(node_count){}
-
-      Data(const detail::moved_object<Compare> &comp, size_type node_count)
-         : Compare(move(comp.get())), m_node_count(node_count){}
-
-      size_type m_node_count; // keeps track of size of tree
-   } m_data;
-};
-
-template <class Key, class Value, class KeyOfValue, 
-          class Compare, class Alloc>
-inline bool 
-operator==(const rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& x, 
-           const rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& y)
-{
-  return x.size() == y.size() &&
-         std::equal(x.begin(), x.end(), y.begin());
-}
-
-template <class Key, class Value, class KeyOfValue, 
-          class Compare, class Alloc>
-inline bool 
-operator<(const rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& x, 
-          const rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& y)
-{
-  return std::lexicographical_compare(x.begin(), x.end(), 
-                                      y.begin(), y.end());
-}
-
-template <class Key, class Value, class KeyOfValue, 
-          class Compare, class Alloc>
-inline bool 
-operator!=(const rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& x, 
-           const rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& y) {
-  return !(x == y);
-}
-
-template <class Key, class Value, class KeyOfValue, 
-          class Compare, class Alloc>
-inline bool 
-operator>(const rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& x, 
-          const rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& y) {
-  return y < x;
-}
-
-template <class Key, class Value, class KeyOfValue, 
-          class Compare, class Alloc>
-inline bool 
-operator<=(const rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& x, 
-           const rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& y) {
-  return !(y < x);
-}
-
-template <class Key, class Value, class KeyOfValue, 
-          class Compare, class Alloc>
-inline bool 
-operator>=(const rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& x, 
-           const rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& y) {
-  return !(x < y);
-}
-
-
-template <class Key, class Value, class KeyOfValue, 
-          class Compare, class Alloc>
-inline void 
-swap(rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& x, 
-     rb_tree<Key,Value,KeyOfValue,Compare,Alloc>& y)
-{
-  x.swap(y);
-}
-
-} //namespace detail {
-
-/*!This class is movable*/
-template <class T, class V, class K, class C, class A>
-struct is_movable<detail::rb_tree<T, V, K, C, A> >
-{
-   enum {   value = true };
-};
-
-/*!This class is movable*/
-template <class A>
-struct is_movable<detail::rb_tree_node<A> >
-{
-   enum {   value = true };
-};
-
-/*!This class is movable*/
-template <class T, class A>
-struct is_movable<detail::rb_tree_alloc_base<T, A/*, true*/> >
-{
-   enum {   value = true };
-};
-
-
-} //namespace interprocess  {
-} //namespace boost  {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_TREE_HPP
-
Modified: branches/hash/boost/interprocess/detail/algorithms.hpp
==============================================================================
--- branches/hash/boost/interprocess/detail/algorithms.hpp	(original)
+++ branches/hash/boost/interprocess/detail/algorithms.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -20,11 +20,19 @@
 #include <boost/interprocess/detail/config_begin.hpp>
 #include <boost/interprocess/detail/workaround.hpp>
 #include <boost/interprocess/detail/iterators.hpp>
+#include <boost/interprocess/detail/mpl.hpp>
+#include <boost/interprocess/detail/utilities.hpp>
 #include <boost/get_pointer.hpp>
 #include <boost/detail/no_exceptions_support.hpp>
 
 namespace boost {
-namespace interprocess { 
+namespace interprocess {
+
+template<class T>
+struct has_own_construct_from_it
+{
+   static const bool value = false;
+};
 
 template<class FwdIt, class T>
 void uninitialized_fill(FwdIt first,  FwdIt last, const T& val)
@@ -106,12 +114,29 @@
    return (constructed);
 }
 
+namespace detail  {
+
 template<class T, class InpIt>
-inline void construct_in_place(T* dest, InpIt source)
+inline void construct_in_place(T* dest, const InpIt &source, detail::true_)
+{
+   T::construct(dest, *source);
+}
+
+template<class T, class InpIt>
+inline void construct_in_place(T* dest, const InpIt &source, detail::false_)
 {
    new(dest)T(*source);
 }
 
+}  //namespace detail   {
+
+template<class T, class InpIt>
+inline void construct_in_place(T* dest, InpIt source)
+{
+   typedef detail::bool_<has_own_construct_from_it<T>::value> boolean_t;
+   detail::construct_in_place(dest, source, boolean_t());
+}
+
 template<class T, class U, class D>
 inline void construct_in_place(T *dest, default_construct_iterator<U, D>)
 {
Deleted: branches/hash/boost/interprocess/detail/multi_segment_services.hpp
==============================================================================
--- branches/hash/boost/interprocess/detail/multi_segment_services.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
+++ (empty file)
@@ -1,46 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztañaga 2005-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)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_MULTI_SEGMENT_SERVICES_HPP
-#define BOOST_INTERPROCESS_MULTI_SEGMENT_SERVICES_HPP
-
-#if (defined _MSC_VER) && (_MSC_VER >= 1200)
-#  pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-
-/*!\file
-   Describes a named shared memory allocation user class. 
-*/
-
-namespace boost {
-
-namespace interprocess {
-
-class multi_segment_services
-{
-   public:
-   virtual std::pair<void *, std::size_t> create_new_segment(std::size_t mem) = 0;
-   virtual bool                           update_segments   () = 0;
-   virtual ~multi_segment_services() = 0;
-};
-
-inline multi_segment_services::~multi_segment_services()
-{}
-
-
-}} //namespace boost {  namespace interprocess {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //#ifdef BOOST_INTERPROCESS_MULTI_SEGMENT_SERVICES_HPP
Modified: branches/hash/boost/interprocess/detail/os_thread_functions.hpp
==============================================================================
--- branches/hash/boost/interprocess/detail/os_thread_functions.hpp	(original)
+++ branches/hash/boost/interprocess/detail/os_thread_functions.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -32,8 +32,12 @@
 
 #if (defined BOOST_WINDOWS) && !(defined BOOST_DISABLE_WIN32)
 
+typedef unsigned long OS_process_id_t;
 typedef unsigned long OS_thread_id_t;
 
+inline OS_process_id_t get_current_process_id()
+{  return winapi::get_current_process_id();  }
+
 inline OS_thread_id_t get_current_thread_id()
 {  return winapi::get_current_thread_id();  }
 
@@ -49,6 +53,10 @@
 #else    //#if (defined BOOST_WINDOWS) && !(defined BOOST_DISABLE_WIN32)
 
 typedef pthread_t OS_thread_id_t;
+typedef int OS_process_id_t;
+
+inline OS_process_id_t get_current_process_id()
+{  return getpid();  }
 
 inline pthread_t get_current_thread_id()
 {  return pthread_self();  }
Modified: branches/hash/boost/interprocess/detail/utilities.hpp
==============================================================================
--- branches/hash/boost/interprocess/detail/utilities.hpp	(original)
+++ branches/hash/boost/interprocess/detail/utilities.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -344,30 +344,6 @@
    enum {   value = false };
 };
 
-/*!A Interprocess shared pointer deleter that uses the segment manager's 
-   destroy_ptr function to destroy the shared resource.*/
-template<class T, class SegmentManager>
-class deleter
-{
-   public:
-   typedef typename detail::pointer_to_other
-      <typename SegmentManager::void_pointer, T>::type   pointer;
-
-   private:
-   typedef typename detail::pointer_to_other
-      <pointer, SegmentManager>::type   segment_manager_pointer;
-
-   segment_manager_pointer mp_deleter;
-
-   public:
-   deleter(const segment_manager_pointer &pdeleter)
-      :  mp_deleter(pdeleter)
-   {}
-
-   void operator()(const pointer &p)
-   {  mp_deleter->destroy_ptr(detail::get_pointer(p));   }
-};
-
 template <class SizeType>
 SizeType
    get_next_capacity(const SizeType max_size
Modified: branches/hash/boost/interprocess/detail/win32_api.hpp
==============================================================================
--- branches/hash/boost/interprocess/detail/win32_api.hpp	(original)
+++ branches/hash/boost/interprocess/detail/win32_api.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -22,8 +22,11 @@
 #  include <stddef.h>
 #  include <stdarg.h>
 #  include <boost/detail/interlocked.hpp>
+#  if !defined(__MINGW32__)
+#     pragma comment( lib, "advapi32.lib" )//auto-unlink security features
+#  endif
 #else
-# error "This file can only be included in Windows OS"
+#  error "This file can only be included in Windows OS"
 #endif
 
 //The structures used in Interprocess with the
@@ -109,6 +112,7 @@
 static const unsigned long lockfile_fail_immediately  = 1;
 static const unsigned long lockfile_exclusive_lock    = 2;
 static const unsigned long error_lock_violation       = 33;
+static const unsigned long security_descriptor_revision = 1;
 
 }  //namespace winapi {
 }  //namespace interprocess  {
@@ -178,7 +182,28 @@
    unsigned long  Type;
 };
 
+typedef struct _interprocess_acl
+{
+   unsigned char  AclRevision;
+   unsigned char  Sbz1;
+   unsigned short AclSize;
+   unsigned short AceCount;
+   unsigned short Sbz2;
+} interprocess_acl;
+
+typedef struct _interprocess_security_descriptor
+{
+   unsigned char Revision;
+   unsigned char Sbz1;
+   unsigned short Control;
+   void *Owner;
+   void *Group;
+   interprocess_acl *Sacl;
+   interprocess_acl *Dacl;
+} interprocess_security_descriptor;
+
 //Some windows API declarations
+extern "C" __declspec(dllimport) unsigned long __stdcall GetCurrentProcessId();
 extern "C" __declspec(dllimport) unsigned long __stdcall GetCurrentThreadId();
 extern "C" __declspec(dllimport) void __stdcall Sleep(unsigned long);
 extern "C" __declspec(dllimport) unsigned long __stdcall GetLastError();
@@ -223,7 +248,10 @@
 extern "C" __declspec(dllimport) int __stdcall LockFileEx(void *hnd, unsigned long flags, unsigned long reserved, unsigned long size_low, unsigned long size_high, interprocess_overlapped* overlapped);
 extern "C" __declspec(dllimport) int __stdcall UnlockFileEx(void *hnd, unsigned long reserved, unsigned long size_low, unsigned long size_high, interprocess_overlapped* overlapped);
 extern "C" __declspec(dllimport) int __stdcall WriteFile(void *hnd, const void *buffer, unsigned long bytes_to_write, unsigned long *bytes_written, interprocess_overlapped* overlapped);
-
+extern "C" __declspec(dllimport) int __stdcall InitializeSecurityDescriptor
+   (void *pSecurityDescriptor, unsigned long dwRevision);
+extern "C" __declspec(dllimport) int __stdcall SetSecurityDescriptorDacl
+   ( void *pSecurityDescriptor, int bDaclPresent, interprocess_acl *pDacl, int bDaclDefaulted);
 /*
 extern "C" __declspec(dllimport) long __stdcall InterlockedIncrement( long volatile * );
 extern "C" __declspec(dllimport) long __stdcall InterlockedDecrement( long volatile * );
@@ -266,6 +294,9 @@
 static inline unsigned long get_current_thread_id()
 {  return GetCurrentThreadId();  }
 
+static inline unsigned long get_current_process_id()
+{  return GetCurrentProcessId();  }
+
 static inline unsigned int close_handle(void* handle)
 {  return CloseHandle(handle);   }
 
@@ -313,7 +344,20 @@
 {  return OpenSemaphoreA(semaphore_all_access, 1, name); }
 
 static inline void * create_file_mapping (void * handle, unsigned long access, unsigned long high_size, unsigned long low_size, const char * name)
-{  return CreateFileMappingA (handle, 0, access, high_size, low_size, name);  }
+{
+   interprocess_security_attributes sa;
+   interprocess_security_descriptor sd; 
+
+   if(!InitializeSecurityDescriptor(&sd, security_descriptor_revision))
+      return 0;
+   if(!SetSecurityDescriptorDacl(&sd, true, 0, false))
+      return 0;
+   sa.lpSecurityDescriptor = &sd;
+   sa.nLength = sizeof(interprocess_security_attributes);
+   sa.bInheritHandle = false;
+   return CreateFileMappingA (handle, &sa, access, high_size, low_size, name); 
+  //return CreateFileMappingA (handle, 0, access, high_size, low_size, name);  
+}
 
 static inline void * open_file_mapping (unsigned long access, const char *name)
 {  return OpenFileMappingA (access, 0, name);   }
Modified: branches/hash/boost/interprocess/indexes/iunordered_set_index.hpp
==============================================================================
--- branches/hash/boost/interprocess/indexes/iunordered_set_index.hpp	(original)
+++ branches/hash/boost/interprocess/indexes/iunordered_set_index.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -275,7 +275,7 @@
    //!previously allocated.
    void shrink_to_fit()
    {
-      size_type cur_size   = this->size();
+      //size_type cur_size   = this->size();
       size_type cur_count  = this->bucket_count();
       bucket_ptr old_p = this->bucket_pointer();
       size_type sug_count;
Deleted: branches/hash/boost/interprocess/intersegment_ptr.hpp
==============================================================================
--- branches/hash/boost/interprocess/intersegment_ptr.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
+++ (empty file)
@@ -1,904 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztañaga 2005-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)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERSEGMENT_PTR_HPP
-#define BOOST_INTERSEGMENT_PTR_HPP
-
-#if (defined _MSC_VER) && (_MSC_VER >= 1200)
-#  pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/interprocess/interprocess_fwd.hpp>
-#include <boost/interprocess/detail/utilities.hpp>
-#include <boost/interprocess/detail/generic_cast.hpp>
-#include <boost/interprocess/detail/cast_tags.hpp>
-#include <boost/assert.hpp>
-#include <boost/interprocess/sync/scoped_lock.hpp>
-#include <boost/type_traits/has_trivial_constructor.hpp>
-#include <boost/type_traits/has_trivial_destructor.hpp>
-#include <boost/interprocess/sync/interprocess_mutex.hpp>
-#include <boost/interprocess/containers/flat_map.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-#include <limits.h>
-
-/*!\file
-*/
-namespace boost {
-
-namespace interprocess {
-
-/*!Configures intersegment_ptr with the capability to address:
-   2^(sizeof(std::size_t)*CHAR_BIT/2) segment groups
-   2^(sizeof(std::size_t)*CHAR_BIT/2) segments per group.
-   2^(sizeof(std::size_t)*CHAR_BIT/2)-1 bytes maximum per segment.
-   The mapping is implemented through flat_maps synchronized with mutexes.*/
-template <class Mutex>
-struct flat_map_intersegment
-{
-   typedef flat_map_intersegment<Mutex>   self_t;
-   typedef std::size_t                    offset_t;
-   typedef std::size_t                    segment_t;
-
-   /*!Returns true if object represents null pointer*/
-   bool is_null() const
-      {  return m_offset == ~offset_t(0); }
-
-   /*!Sets the object to represent the null pointer*/
-   void set_null()
-      {  m_offset = ~offset_t(0);  }
-
-   /*!Sets the object internals to represent the address pointed by ptr*/
-   void set_from_pointer(const void *ptr)
-   {
-      if(!ptr){
-         set_null();
-      }
-      else{
-         segment_t id1, id2;
-         offset_t  offset1, offset2;
-         {
-            //------------------------------------------------------------------
-            boost::interprocess::scoped_lock<typename mappings_t::mutex_type> lock(s_map);
-            //------------------------------------------------------------------
-            get_segment_and_offset(ptr,  id1, offset1);
-            get_segment_and_offset(this, id2, offset2);
-         }
-         m_distance  = id1 - id2;
-         m_offset    = offset1;
-      }
-   }
-
-   /*!Sets the object internals to represent the address pointed 
-      by another flat_map_intersegment*/
-   void set_from_other(const self_t &other)
-   {
-      if(other.is_null()){
-         set_null();
-      }
-      else{
-         segment_t id1, id2;
-         {
-            //------------------------------------------------------------------
-            boost::interprocess::scoped_lock<typename mappings_t::mutex_type> lock(s_map);
-            //------------------------------------------------------------------
-            offset_t  off;
-            get_segment_and_offset(&other, id1, off);
-            get_segment_and_offset(this, id2, off);
-         }
-         m_distance  = id1 + other.m_distance - id2;
-         m_offset    = other.m_offset;
-      }
-   }
-
-   /*!Obtains the address pointed by the object*/
-   void *get_pointer() const
-   {
-      segment_t   id1;
-      offset_t    off;
-      void *      base_addr = 0;
-      if(is_null()){
-         return base_addr;
-      }
-      else{
-         {
-            //------------------------------------------------------------------
-            boost::interprocess::scoped_lock<typename mappings_t::mutex_type> lock(s_map);
-            //------------------------------------------------------------------
-            get_segment_and_offset(this, id1, off);
-            segment_t target_segment = segment_t(id1+m_distance);
-            base_addr = get_base_address(target_segment);
-         }
-         return detail::char_ptr_cast(base_addr) + m_offset;
-      }
-   }
-
-   /*!Swaps two objects efficiently*/
-   void swap(self_t &other)
-   {
-      //This specialized swap avoids some costly operations
-      segment_t id1, id2, id;
-      offset_t  off;
-      {
-         //------------------------------------------------------------------
-         boost::interprocess::scoped_lock<typename mappings_t::mutex_type> lock(s_map);
-         //------------------------------------------------------------------
-         get_segment_and_offset(&other, id1, off);
-         get_segment_and_offset(this,   id2, off);
-      }
-      //Swap offset value
-      off = m_offset; m_offset = other.m_offset; other.m_offset = off;
-      //Calculate new segment distance. Let overflow do its work
-      id = m_distance;
-      m_distance         = id1 + other.m_distance - id2;
-      other.m_distance   = id2 + id - id1;
-   }
-
-   /*!Increments internal offset*/
-   void inc_offset(offset_t bytes)
-   {  m_offset += bytes;   }
-
-   /*!Decrements internal offset*/
-   void dec_offset(offset_t bytes)
-   {  m_offset -= bytes;   }
-
-   /*!Calculates the distance between two basic_intersegment_ptr-s.
-      This only works with two basic_intersegment_ptr pointing
-      to the same segment. Otherwise undefined*/
-   offset_t diff(const self_t &other) const
-   {  return m_offset - other.m_offset;   }
-
-   /*!Returns true if both point to the same object*/
-   bool equal(const self_t &y) const
-   {  
-      if(m_offset != y.m_offset){
-         return false;
-      }
-      else{
-         segment_t id1, id2;
-         offset_t  off;
-         {
-            //------------------------------------------------------------------
-            boost::interprocess::scoped_lock<typename mappings_t::mutex_type> lock(s_map);
-            //------------------------------------------------------------------
-            get_segment_and_offset(this, id1, off);
-            get_segment_and_offset(&y,   id2, off);
-         }
-         return segment_t(id1 + m_distance) == segment_t(id2 + y.m_distance);
-      }
-   }
-
-   /*!Returns true if *this is less than other.
-      This only works with two basic_intersegment_ptr pointing
-      to the same segment group. Otherwise undefined. Never throws*/
-   bool less(const self_t &y) const
-   {  
-      segment_t id1, id2;
-      offset_t  off;
-      {
-         //------------------------------------------------------------------
-         boost::interprocess::scoped_lock<typename mappings_t::mutex_type> lock(s_map);
-         //------------------------------------------------------------------
-         get_segment_and_offset(this, id1, off);
-         get_segment_and_offset(&y,   id2, off);
-      }
-      id1 = segment_t(id1 + m_distance);
-      id2 = segment_t(id2 + y.m_distance);
-      return (id1 < id2) || (id1 == id2 && m_offset < y.m_offset);
-   }
-
-   //--------------------------------------------------------------------------
-
-   static void get_group_and_id(void *addr, std::size_t &group, std::size_t &id)
-   {  
-      {
-         //------------------------------------------------------------------
-         boost::interprocess::scoped_lock<typename mappings_t::mutex_type>     lock(s_map);
-         //------------------------------------------------------------------
-         get_segment_and_offset(addr, group, id);
-      }
-      group = group >>  s_shift;
-   }
-
-   /*!Returns the polymorphic multi-segment creator associated with a
-      segment-group. Returns 0 if not found or an error occurs.*/
-   static void* find_group_data(std::size_t group)
-   {
-      typedef typename mappings_t::group_to_data_t::iterator it_t;
-      //------------------------------------------------------------------
-      boost::interprocess::scoped_lock<typename mappings_t::mutex_type>     lock(s_map);
-      //------------------------------------------------------------------
-      it_t it(s_map.group_to_data.find(group));
-      if(it == s_map.group_to_data.end()){
-         return 0;
-      }
-      return it->second;
-   }
-
-   /*!Reserves a segment-group, installs the associated polymorphic
-      segment-creator, and the segment passed as (base, size) as
-      the segment id = 0 of the new group. Returns the group that will
-      be associated with this segment. Returns 0 if there are no available
-      groups or an error occurs.*/
-   static std::size_t new_group(void *group_data)
-   {
-      typedef typename mappings_t::group_to_data_t::iterator   it_t;
-      typedef typename mappings_t::group_to_data_t::value_type value_type;
-      typedef std::pair<it_t, bool>                            insert_ret;
-      std::size_t group = 0;
-
-      BOOST_TRY{
-         //------------------------------------------------------------------
-         boost::interprocess::scoped_lock<typename mappings_t::mutex_type> lock(s_map);
-         //------------------------------------------------------------------
-         //Check if there are too many groups
-         if(s_map.group_to_data.size() >= (s_max_value - 1) ){
-            return 0;
-         }
-         //Check if there are no registered groups or the first one
-         //is not group 1, assign id 1 to the new group.
-         else if(s_map.group_to_data.empty() ||
-                  s_map.group_to_data.begin()->first != 1){
-            group = 1;
-         }
-         //If not, take a not used number
-         else{
-            it_t  it1(s_map.group_to_data.begin()), 
-                  it2(it1),
-                  itend(s_map.group_to_data.end());
-
-            for(++it2; it2 != itend; ++it1, ++it2){
-               if(it2->first - it1->first > 1){
-                  break;
-               }
-            }
-            group = it1->first+1;
-         }
-         insert_ret ret = 
-            s_map.group_to_data.insert(value_type(group, group_data));
-         //This insertion must succeed
-         assert(ret.second);
-         if(!ret.second)   return false;
-         return group;
-      }
-      BOOST_CATCH(const std::bad_alloc &){}
-      BOOST_CATCH_END
-      return 0;
-   }
-
-   /*!Erases the mapping between a group and the associated polymorphic pointer.
-      Returns false if the group is not found or there is an error*/
-   static bool delete_group(std::size_t group)
-   {
-      //------------------------------------------------------------------
-      boost::interprocess::scoped_lock<typename mappings_t::mutex_type>  lock(s_map);
-      //------------------------------------------------------------------
-      typedef typename mappings_t::segment_to_ptr_t::iterator  it_t;
-
-      //Find the range of the group
-      it_t first_of_group(s_map.segment_to_ptr.lower_bound(group << s_shift));
-      it_t one_past_group(s_map.segment_to_ptr.lower_bound((group+1)<< s_shift));
-
-      //Erase all info related to the group
-      for(it_t it(first_of_group); it != one_past_group; ++it){
-         //Erase entry from addr-segment
-         if(!s_map.ptr_to_segment.erase(it->second)){
-            //This can't be possible since both indexes should be synchronized
-            assert(false);
-            return false;
-         }
-      }
-      //Erase all info from groups
-      s_map.segment_to_ptr.erase(first_of_group, one_past_group);
-
-      //Erase the group info
-      bool ret = s_map.group_to_data.erase(group) == 1;
-      assert(ret);
-      if(!ret) return false;
-      //Erase all mappings of this group
-      return true;
-   }
-
-   /*!Associates a segment defined by group/id with a base address and size.
-      Returns false if the group is not found or there is an error*/
-   static bool insert_mapping(std::size_t group,   std::size_t id,
-                              void *base_address,  std::size_t size)
-   {
-      //Check limits
-      if(group > s_max_value || id > s_max_value){
-         return false;
-      }
-
-      BOOST_TRY{
-         typedef typename mappings_t::ptr_to_segment_t::value_type   ptr_to_segment_val_t;
-         typedef typename mappings_t::segment_to_ptr_t::value_type   segment_to_ptr_val_t;
-         typedef typename mappings_t::ptr_to_segment_t::iterator     ptr_to_segment_it_t;
-         typedef typename mappings_t::segment_to_ptr_t::iterator     segment_to_ptr_it_t;
-         typedef std::pair<ptr_to_segment_it_t, bool>       ptr_to_segment_ret_t;
-         typedef std::pair<segment_to_ptr_it_t, bool>       segment_to_ptr_ret_t;
-
-         //Compose segment identification
-         segment_t segment = (group << s_shift) | id;
-         typename mappings_t:: segment_info_t segment_info;
-         segment_info.segment = segment;
-         segment_info.size    = size;
-
-         {  
-            //------------------------------------------------------------------
-            boost::interprocess::scoped_lock<typename mappings_t::mutex_type>     lock(s_map);
-            //------------------------------------------------------------------
-            //This can throw
-            ptr_to_segment_ret_t ptr_to_segment_ret = 
-               s_map.ptr_to_segment.insert(ptr_to_segment_val_t(base_address, segment_info));
-
-            if(!ptr_to_segment_ret.second)
-               return false;
-
-            //Node eraser will erase the node if an exception occurs
-            detail::value_eraser<typename mappings_t::ptr_to_segment_t> 
-               value_eraser(s_map.ptr_to_segment, ptr_to_segment_ret.first);
-
-            //This can throw
-            segment_to_ptr_ret_t segment_to_ptr_ret = 
-               s_map.segment_to_ptr.insert(segment_to_ptr_val_t(segment, base_address));
-
-            if(!segment_to_ptr_ret.second){
-               //This should never occur, since both maps must have
-               //the same elements indexed by different key
-               assert(!segment_to_ptr_ret.second);
-               return false;
-            }
-            //Insertion ok, release value_eraser
-            value_eraser.release(); 
-            return true;                 
-         }
-      }
-      BOOST_CATCH(...){
-         return false;
-      }
-      BOOST_CATCH_END
-   }
-
-   static bool erase_mapping(void *base_address)
-   {
-      typedef typename mappings_t::ptr_to_segment_t::iterator  ptr_to_segment_it_t;
-      typedef typename mappings_t::segment_to_ptr_t::iterator  segment_to_ptr_it_t;
-
-      {  //------------------------------------------------------------------
-         boost::interprocess::scoped_lock<typename mappings_t::mutex_type>     lock(s_map);
-         //------------------------------------------------------------------
-         ptr_to_segment_it_t ptr_to_segment_it = s_map.ptr_to_segment.find(base_address);
-         if(ptr_to_segment_it == s_map.ptr_to_segment.end()){
-            //This group/id is not an valid entry
-            assert(ptr_to_segment_it == s_map.ptr_to_segment.end());
-            return false;
-         }
-         //Obtain segment
-         segment_t segment = ptr_to_segment_it->second.segment;
-         //Erase node from map
-         s_map.ptr_to_segment.erase(ptr_to_segment_it);
-         //Erase entry in the second map
-         if(!s_map.segment_to_ptr.erase(segment)){
-            //This can't be possible since both indexes should be synchronized
-            assert(false);
-            return false;
-         }
-      }
-      return true;
-   }
-
-   static bool erase_mapping(std::size_t group, std::size_t id)
-   {
-      //Check limits
-      if(group > s_max_value || id > s_max_value){
-         return false;
-      }
-
-      typedef typename mappings_t::ptr_to_segment_t::iterator ptr_to_segment_it_t;
-      typedef typename mappings_t::segment_to_ptr_t::iterator  segment_to_ptr_it_t;
-
-      //Compose segment identification
-      segment_t segment = (group << s_shift) | id;
-      {  //------------------------------------------------------------------
-         boost::interprocess::scoped_lock<typename mappings_t::mutex_type>     lock(s_map);
-         //------------------------------------------------------------------
-         segment_to_ptr_it_t segment_to_ptr_it = s_map.segment_to_ptr.find(segment);
-         if(segment_to_ptr_it == s_map.segment_to_ptr.end()){
-            //This group/id is not an valid entry
-            assert(segment_to_ptr_it != s_map.segment_to_ptr.end());
-            return false;
-         }
-         //Obtain address
-         void *address = segment_to_ptr_it->second;
-         //Erase node from map
-         s_map.segment_to_ptr.erase(segment_to_ptr_it);
-         //Erase entry in the second map
-         if(!s_map.ptr_to_segment.erase(address)){
-            //This can't be possible since both indexes should be synchronized
-            assert(false);
-            return false;
-         }
-      }
-      return true;
-   }
-
-   private:
-   /*!Half of the bits are for group id and the
-      other half for the index inside the group
-      unsigned    group : sizeof(std::size_t)/2;
-      unsigned    index : sizeof(std::size_t)/2;*/
-   segment_t   m_distance;
-   offset_t    m_offset;
-
-   struct mappings_t : Mutex
-   {
-      struct segment_info_t
-      {
-         std::size_t size;
-         segment_t   segment;
-      };
-
-      /*!Mutex to preserve integrity in multi-threaded enviroments*/
-      typedef Mutex        mutex_type;
-      /*!Maps base addresses and segment information 
-         (size and segment group and id)*/
-      typedef boost::interprocess::flat_map
-         <const void * 
-         ,segment_info_t
-         ,std::less<const void *> >          ptr_to_segment_t;
-      /*!Maps segment group/id with base addresses*/
-      typedef boost::interprocess::flat_map
-         <segment_t, void *>                 segment_to_ptr_t;
-      /*!Maps segment group with a polymorphic multi-segment creator
-         that knows how to create new segments*/
-      typedef boost::interprocess::flat_map
-         <segment_t, void*>                  group_to_data_t;
-      
-      ptr_to_segment_t     ptr_to_segment;
-      segment_to_ptr_t     segment_to_ptr;
-      group_to_data_t   group_to_data;
-
-      ~mappings_t()
-      {
-         //Check that all mappings have been erased
-         assert(ptr_to_segment.empty());
-         assert(segment_to_ptr.empty());
-         assert(group_to_data.empty());
-      }
-   };
-
-   //Static members
-   static mappings_t        s_map;
-   static const std::size_t s_shift     = sizeof(std::size_t)*CHAR_BIT/2;
-   static const std::size_t s_max_value = std::size_t(1) << s_shift;
-
-   private:
-
-   /*!Returns the segment and offset of an address*/
-   static void get_segment_and_offset(const void *ptr, segment_t &segment, offset_t &offset)
-   {
-      if(s_map.ptr_to_segment.empty()){
-         segment = 0;
-         offset  = detail::char_ptr_cast(ptr) - detail::char_ptr_cast();
-      }
-      //Find the first base address greater than ptr
-      typename mappings_t::ptr_to_segment_t::iterator it 
-         = s_map.ptr_to_segment.upper_bound(ptr);
-      if(it == s_map.ptr_to_segment.begin()){
-         segment = 0;
-         offset  = detail::char_ptr_cast(ptr) - detail::char_ptr_cast();
-      }
-      //Go to the previous one
-      --it;
-      char *      segment_base = detail::char_ptr_cast(it->first);
-      std::size_t segment_size = it->second.size;
-      
-      if(segment_base <= detail::char_ptr_cast(ptr) &&
-         (segment_base + segment_size) >= detail::char_ptr_cast(ptr)){
-         segment = it->second.segment;
-         offset  = detail::char_ptr_cast(ptr) - segment_base;
-      }
-      else{
-         segment = 0;
-         offset  = detail::char_ptr_cast(ptr) - detail::char_ptr_cast();
-      }
-   }
-
-   /*!Returns the base address of a segment*/
-   static void *get_base_address(segment_t segment)
-   {
-      typename mappings_t::segment_to_ptr_t::iterator it 
-         = s_map.segment_to_ptr.find(segment);
-      
-      if(it == s_map.segment_to_ptr.end()){
-         return 0;
-      }
-      else{
-         return it->second;
-      }
-   }
-};
-
-/*!Static map-group associated with flat_map_intersegment<>*/
-template <class Mutex>
-typename flat_map_intersegment<Mutex>::mappings_t 
-   flat_map_intersegment<Mutex>::s_map;
-
-/*!Static constant that shows the number of bits to shift to obtain the 
-   group part of segment_t type*/
-template <class Mutex>
-const std::size_t flat_map_intersegment<Mutex>::s_shift;
-
-/*!Static constant that shows the number of bits to shift to obtain the 
-   group part of segment_t type*/
-template <class Mutex>
-const std::size_t flat_map_intersegment<Mutex>::s_max_value;
-
-/*!
-   A smart pointer that can point to a pointee that resides in another memory 
-   memory mapped or shared memory segment.
-*/
-template <class T/*, class PT*/>
-class intersegment_ptr : public flat_map_intersegment<interprocess_mutex>  //: public PT
-{
-   typedef flat_map_intersegment<interprocess_mutex> PT;
-   typedef boost::interprocess::workaround::random_it<T>  random_it_t;
-//   typedef intersegment_ptr<T, PT>                 self_t;
-   typedef intersegment_ptr<T>                     self_t;
-   typedef PT                                      base_t;
-   typedef typename random_it_t::const_pointer     const_pointer_t;
-   typedef typename random_it_t::const_reference   const_reference_t;
-
-   void unspecified_bool_type_func() const {}
-   typedef void (self_t::*unspecified_bool_type)() const;
-
-   public:
-   typedef typename random_it_t::pointer           pointer;
-   typedef typename random_it_t::reference         reference;
-   typedef typename random_it_t::value_type        value_type;
-   typedef typename random_it_t::difference_type   difference_type;
-   typedef typename random_it_t::iterator_category iterator_category;
-
-   public:   //Public Functions
-
-   /*!Constructor from raw pointer (allows "0" pointer conversion). Never throws.*/
-   intersegment_ptr(pointer ptr = 0) {  base_t::set_from_pointer(ptr); }
-
-   /*!Constructor from other pointer. Never throws.*/
-   template <class U>
-   intersegment_ptr(U *ptr){  base_t::set_from_pointer(pointer(ptr)); }
-
-   /*!Constructor from other intersegment_ptr */
-   intersegment_ptr(const intersegment_ptr& ptr) 
-      {  base_t::set_from_other(ptr);   }
-
-   /*!Constructor from other intersegment_ptr. If pointers of pointee types are 
-      convertible, intersegment_ptrs will be convertibles. Never throws.*/
-   template<class T2>
-   intersegment_ptr(const intersegment_ptr<T2/*, PT*/> &ptr) 
-   {  pointer p(ptr.get());   (void)p; base_t::set_from_other(ptr); }
-
-   /*!Emulates static_cast operator. Never throws.  */
-   template<class U>
-   intersegment_ptr(const intersegment_ptr<U/*, PT*/> &r, detail::static_cast_tag)
-      //{  base_t::set_from_pointer(static_cast<T*>(r.get())); }
-   {  
-      if(r.is_null()){
-         base_t::set_from_pointer(0);
-      }
-      else{
-         //Some dirty tricks to safe segment operations.
-         //Calculate pointer adjustment and adjust offset.
-         pointer ptr = reinterpret_cast<pointer>(this);
-         std::ptrdiff_t difference = detail::char_ptr_cast(static_cast<T*>(ptr)) -
-                                     detail::char_ptr_cast(ptr);
-         base_t::set_from_other(r);
-         base_t::inc_offset(difference*sizeof(T));
-      }
-   }
-
-   /*!Emulates const_cast operator. Never throws.*/
-   template<class U>
-   intersegment_ptr(const intersegment_ptr<U/*, PT*/> &r, detail::const_cast_tag)
-   {  base_t::set_from_pointer(const_cast<T*>(r.get())); }
-   /*
-   {  
-      //Make sure const conversion is correct
-      pointer p = const_cast<pointer>((U*)0); (void)p;
-      base_t::set_from_other(r); 
-   }*/
-
-   /*!Emulates dynamic_cast operator. Never throws.*/
-   template<class U>
-   intersegment_ptr(const intersegment_ptr<U/*, PT*/> &r, detail::dynamic_cast_tag)
-   {  base_t::set_from_pointer(dynamic_cast<T*>(r.get())); }
-
-   /*!Emulates reinterpret_cast operator. Never throws.*/
-   template<class U>
-   intersegment_ptr(const intersegment_ptr<U/*, PT*/> &r, detail::reinterpret_cast_tag)
-   {  base_t::set_from_pointer(reinterpret_cast<T*>(r.get())); }
-
-   /*!Obtains raw pointer from offset. Never throws.*/
-   pointer get()const
-   {  return (pointer)base_t::get_pointer();   }
-
-   /*!Pointer-like -> operator. It can return 0 pointer. Never throws.*/
-   pointer operator->() const           
-   {  return self_t::get(); }
-
-   /*!Dereferencing operator, if it is a null intersegment_ptr behavior 
-         is undefined. Never throws.*/
-   reference operator* () const           
-   {  return *(self_t::get());   }
-
-   /*!Indexing operator. Never throws.*/
-   reference operator[](std::ptrdiff_t idx) const   
-   {  return self_t::get()[idx];  }
-
-   /*!Assignment from pointer (saves extra conversion). Never throws.*/
-   intersegment_ptr& operator= (pointer from)
-   {  base_t::set_from_pointer(from); return *this;  }
-
-   /*!Assignment from other intersegment_ptr. Never throws.*/
-   intersegment_ptr& operator= (const intersegment_ptr &ptr)
-   {  base_t::set_from_other(ptr);  return *this;  }
-
-   /*!Assignment from related intersegment_ptr. If pointers of pointee types 
-         are assignable, intersegment_ptrs will be assignable. Never throws.*/
-   template <class T2>
-   intersegment_ptr& operator= (const intersegment_ptr<T2/*, PT*/> & ptr)
-   {  
-      pointer p(ptr.get());   (void)p; 
-      base_t::set_from_other(ptr); return *this;   
-   }
- 
-   /*!intersegment_ptr + std::ptrdiff_t. Never throws.*/
-   intersegment_ptr operator+ (std::ptrdiff_t idx) const   
-   {  
-      intersegment_ptr result (*this);
-      result.inc_offset(idx*sizeof(T));
-      return result;
-   }
-
-   /*!intersegment_ptr - std::ptrdiff_t. Never throws.*/
-   intersegment_ptr operator- (std::ptrdiff_t idx) const   
-   {  
-      intersegment_ptr result (*this);
-      result.dec_offset(idx*sizeof(T));
-      return result;
-   }
-
-   /*!intersegment_ptr += std::ptrdiff_t. Never throws.*/
-   intersegment_ptr &operator+= (std::ptrdiff_t offset)
-   {  base_t::inc_offset(offset*sizeof(T));  return *this;  }
-
-   /*!intersegment_ptr -= std::ptrdiff_t. Never throws.*/
-   intersegment_ptr &operator-= (std::ptrdiff_t offset)
-   {  base_t::dec_offset(offset*sizeof(T));  return *this;  }
-
-   /*!++intersegment_ptr. Never throws.*/
-   intersegment_ptr& operator++ (void)
-   {  base_t::inc_offset(sizeof(T));   return *this;  }
- 
-   /*!intersegment_ptr++. Never throws.*/
-   intersegment_ptr operator++ (int)
-   {  intersegment_ptr temp(*this); ++*this; return temp; }
-
-   /*!--intersegment_ptr. Never throws.*/
-   intersegment_ptr& operator-- (void)
-   {  base_t::dec_offset(sizeof(T));   return *this;  }
-
-   /*!intersegment_ptr--. Never throws.*/
-   intersegment_ptr operator-- (int)
-   {  intersegment_ptr temp(*this); --*this; return temp; }
-
-   /*!Safe bool conversion operator. Never throws.*/
-   operator unspecified_bool_type() const  
-   {  return base_t::is_null()? 0 : &self_t::unspecified_bool_type_func;   }
-
-   /*!Not operator. Not needed in theory, but improves portability. 
-      Never throws.*/
-   bool operator! () const
-   {  return base_t::is_null();   }
-
-   /*!Swaps two intersegment_ptr-s. More efficient than std::swap.
-      Never throws.*/
-   void swap(intersegment_ptr &other)
-   {  base_t::swap(other);   }
-
-   /*!Calculates the distance between two intersegment_ptr-s.
-      This only works with two basic_intersegment_ptr pointing
-      to the same segment. Otherwise undefined*/
-   template <class T2>
-   bool _diff(const intersegment_ptr<T2/*, PT*/> &other) const
-   {  return base_t::less(other);   }
-
-   /*!Returns true if both point to the same object*/
-   template <class T2>
-   bool _equal(const intersegment_ptr<T2/*, PT*/> &other) const
-   {  return base_t::equal(other);   }
-
-   /*!Returns true if *this is less than other.
-      This only works with two basic_intersegment_ptr pointing
-      to the same segment group. Otherwise undefined. Never throws*/
-   template <class T2>
-   bool _less(const intersegment_ptr<T2/*, PT*/> &other) const
-   {  return base_t::less(other);   }
-};
-
-/*!Compares the equality of two intersegment_ptr-s.
-   Never throws.*/
-template <class T1, class T2/*, class PT1*/> inline
-bool operator ==(const intersegment_ptr<T1/*, PT1*/> &left,
-                 const intersegment_ptr<T2/*, PT1*/> &right)
-{  
-   //Make sure both pointers can be compared
-   bool e = typename intersegment_ptr<T1/*, PT1*/>::pointer(0) ==
-            typename intersegment_ptr<T2/*, PT1*/>::pointer(0);
-   (void)e;
-   return left._equal(right);   
-}
-
-/*!Returns true if *this is less than other.
-   This only works with two basic_intersegment_ptr pointing
-   to the same segment group. Otherwise undefined. Never throws*/
-template <class T1, class T2/*, class PT1*/> inline
-bool operator <(const intersegment_ptr<T1/*, PT1*/> &left,
-                const intersegment_ptr<T2/*, PT1*/> &right)
-{  
-   //Make sure both pointers can be compared
-   bool e = typename intersegment_ptr<T1/*, PT1*/>::pointer(0) <
-            typename intersegment_ptr<T2/*, PT1*/>::pointer(0);
-   (void)e;
-   return left._less(right);   
-}
-
-template<class T1, class T2/*, class PT*/> inline
-bool operator!= (const intersegment_ptr<T1/*, PT*/> &pt1, 
-                 const intersegment_ptr<T2/*, PT*/> &pt2)
-{  return !(pt1 ==pt2);  }
-
-/*!intersegment_ptr<T1> <= intersegment_ptr<T2, PT>. Never throws.*/
-template<class T1, class T2/*, class PT*/> inline
-bool operator<= (const intersegment_ptr<T1/*, PT*/> &pt1, 
-                 const intersegment_ptr<T2/*, PT*/> &pt2)
-{  return !(pt1 > pt2);  }
-
-/*!intersegment_ptr<T1> > intersegment_ptr<T2, PT>. Never throws.*/
-template<class T1, class T2/*, class PT*/> inline
-bool operator> (const intersegment_ptr<T1/*, PT*/> &pt1, 
-                       const intersegment_ptr<T2/*, PT*/> &pt2)
-{  return (pt2 < pt1);  }
-
-/*!intersegment_ptr<T1> >= intersegment_ptr<T2, PT>. Never throws.*/
-template<class T1, class T2/*, class PT*/> inline
-bool operator>= (const intersegment_ptr<T1/*, PT*/> &pt1, 
-                 const intersegment_ptr<T2/*, PT*/> &pt2)
-{  return !(pt1 < pt2);  }
-
-/*!operator<< */
-template<class E, class T, class U/*, class PT*/> inline
-std::basic_ostream<E, T> & operator<< 
-   (std::basic_ostream<E, T> & os, const intersegment_ptr<U/*, PT*/> & p)
-{  return os << p.get();   }
-
-/*!operator>> */
-template<class E, class T, class U/*, class PT*/> inline
-std::basic_istream<E, T> & operator>> 
-   (std::basic_istream<E, T> & os, intersegment_ptr<U/*, PT*/> & p)
-{  U * tmp; return os >> tmp; p = tmp;   }
-
-/*!std::ptrdiff_t + intersegment_ptr. 
-   The result is another pointer of the same segment */
-template<class T/*, class PT*/> inline
-intersegment_ptr<T/*, PT*/> operator+
-   (std::ptrdiff_t diff, const intersegment_ptr<T/*, PT*/>& right)
-{  return right + diff;  }
-
-/*!intersegment_ptr - intersegment_ptr. 
-   This only works with two intersegment_ptr-s that point to the
-   same segment*/
-template <class T, class T2/*, class PT*/> inline
-std::ptrdiff_t operator- (const intersegment_ptr<T/*, PT*/> &pt, 
-                          const intersegment_ptr<T2/*, PT*/> &pt2)
-{  return pt._diff(pt2);  }
-
-/*! swap specialization */
-template<class T/*, class PT*/> inline
-void swap (boost::interprocess::intersegment_ptr<T/*, PT*/> &pt, 
-           boost::interprocess::intersegment_ptr<T/*, PT*/> &pt2)
-{  pt.swap(pt2);  }
-
-/*!get_pointer() enables boost::mem_fn to recognize intersegment_ptr. 
-   Never throws.*/
-template<class T/*, class PT*/> inline
-T * get_pointer(boost::interprocess::intersegment_ptr<T/*, PT*/> const & p)
-{  return p.get();   }
-
-/*!Simulation of static_cast between pointers. Never throws.*/
-template<class T, class U/*, class PT*/> inline 
-boost::interprocess::intersegment_ptr<T/*, PT*/> static_pointer_cast(const boost::interprocess::intersegment_ptr<U/*, PT*/> &r)
-{  return boost::interprocess::intersegment_ptr<T/*, PT*/>(r, boost::interprocess::detail::static_cast_tag());  }
-
-/*!Simulation of const_cast between pointers. Never throws.*/
-template<class T, class U/*, class PT*/> inline 
-boost::interprocess::intersegment_ptr<T/*, PT*/> const_pointer_cast(const boost::interprocess::intersegment_ptr<U/*, PT*/> &r)
-{  return boost::interprocess::intersegment_ptr<T/*, PT*/>(r, boost::interprocess::detail::const_cast_tag());  }
-
-/*!Simulation of dynamic_cast between pointers. Never throws.*/
-template<class T, class U/*, class PT*/> inline 
-boost::interprocess::intersegment_ptr<T/*, PT*/> dynamic_pointer_cast(const boost::interprocess::intersegment_ptr<U/*, PT*/> &r)
-{  return boost::interprocess::intersegment_ptr<T/*, PT*/>(r, boost::interprocess::detail::dynamic_cast_tag());  }
-
-/*!Simulation of reinterpret_cast between pointers. Never throws.*/
-template<class T, class U/*, class PT*/> inline
-boost::interprocess::intersegment_ptr<T/*, PT*/> reinterpret_pointer_cast(const boost::interprocess::intersegment_ptr<U/*, PT*/> &r)
-{  return boost::interprocess::intersegment_ptr<T/*, PT*/>(r, boost::interprocess::detail::reinterpret_cast_tag());  }
-
-/*!Trait class to detect if an smart pointer has 
-   multi-segment addressing capabilities.*/
-template <class T/*, class PT*/>
-struct is_multisegment_ptr
-   <boost::interprocess::intersegment_ptr<T/*, PT*/> >
-{
-   enum {   value = true   };
-};
-
-}  //namespace interprocess {
-
-
-/*!has_trivial_constructor<> == true_type specialization for optimizations*/
-template <class T/*, class PT*/>
-struct has_trivial_constructor
-   < boost::interprocess::intersegment_ptr<T/*, PT*/> > 
-   : public true_type{};
-
-/*!has_trivial_destructor<> == true_type specialization for optimizations*/
-template <class T/*, class PT*/>
-struct has_trivial_destructor
-   < boost::interprocess::intersegment_ptr<T/*, PT*/> > 
-   : public true_type{};
-
-}  //namespace boost {
-
-namespace boost{
-namespace interprocess{
-
-/*!Simulation of cast operators between pointers.*/
-template<class T>
-class cast_to< intersegment_ptr<T> >
-{
-   public:
-   template<class S>
-   static intersegment_ptr<T> using_static_cast(const intersegment_ptr<S> &s)
-   {  return intersegment_ptr<T>(s, detail::static_cast_tag());   }
-
-   template<class S>
-   static intersegment_ptr<T> using_reinterpret_cast(const intersegment_ptr<S> &s)
-   {  return intersegment_ptr<T>(s, detail::reinterpret_cast_tag());   }
-
-   template<class S>
-   static intersegment_ptr<T> using_const_cast(const intersegment_ptr<S> &s)
-   {  return intersegment_ptr<T>(s, detail::const_cast_tag());   }
-
-   template<class S>
-   static intersegment_ptr<T> using_dynamic_cast(const intersegment_ptr<S> &s)
-   {  return intersegment_ptr<T>(s, detail::dynamic_cast_tag());   }
-};
-
-}  //namespace interprocess{
-}  //namespace boost{
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_INTERSEGMENT_PTR_HPP
-
Deleted: branches/hash/boost/interprocess/managed_multi_shared_memory.hpp
==============================================================================
--- branches/hash/boost/interprocess/managed_multi_shared_memory.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
+++ (empty file)
@@ -1,374 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztañaga 2005-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)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_MANAGED_MULTI_SHARED_MEMORY_HPP
-#define BOOST_INTERPROCESS_MANAGED_MULTI_SHARED_MEMORY_HPP
-
-#if (defined _MSC_VER) && (_MSC_VER >= 1200)
-#  pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/interprocess/detail/managed_memory_impl.hpp>
-#include <boost/interprocess/detail/creation_tags.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-//#include <boost/interprocess/detail/multi_segment_services.hpp>
-#include <boost/interprocess/detail/utilities.hpp>
-#include <boost/interprocess/shared_memory_object.hpp>
-#include <list>
-#include <new>
-#include <boost/interprocess/containers/string.hpp>
-#include <boost/interprocess/streams/vectorstream.hpp>
-#include <memory>
-
-/*!\file
-   Describes a named shared memory object allocation user class. 
-*/
-
-namespace boost {
-
-namespace interprocess {
-
-/*!A basic shared memory named object creation class. Initializes the 
-   shared memory segment. Inherits all basic functionality from 
-   basic_managed_memory_impl<CharType, MemoryAlgorithm, IndexType>*/
-template
-      <
-         class CharType, 
-         class MemoryAlgorithm, 
-         template<class IndexConfig> class IndexType
-      >
-class basic_managed_multi_shared_memory 
-   :  public detail::basic_managed_memory_impl
-         <CharType, MemoryAlgorithm, IndexType>
-{
-
-   typedef basic_managed_multi_shared_memory
-               <CharType, MemoryAlgorithm, IndexType>    self_t;
-   typedef typename self_t::void_pointer                 void_pointer;
-   ////////////////////////////////////////////////////////////////////////
-   //
-   //               Some internal helper structs/functors
-   //
-   ////////////////////////////////////////////////////////////////////////
-   /*!This class defines an operator() that creates a shared memory
-      of the requested size. The rest of the parameters are
-      passed in the constructor. The class a template parameter
-      to be used with create_from_file/create_from_istream functions
-      of basic_named_object classes*/
-/*
-   class segment_creator
-   {
-      public:
-      segment_creator(shared_memory &shmem,
-                      const char *mem_name, 
-                      const void *addr)
-      : m_shmem(shmem), m_mem_name(mem_name), m_addr(addr){}
-
-      void *operator()(std::size_t size)
-      {
-         if(!m_shmem.create(m_mem_name, size, m_addr))
-            return 0;
-         return m_shmem.get_address(); 
-      }      
-      private:
-      shared_memory &m_shmem;
-      const char *m_mem_name;
-      const void *m_addr;
-   };
-*/
-   class group_services
-   {
-      public:
-      typedef std::pair<void *, std::size_t>             result_type;
-      typedef basic_managed_multi_shared_memory            frontend_t;
-      typedef typename 
-         basic_managed_multi_shared_memory::void_pointer   void_pointer;
-      group_services(frontend_t *const frontend)
-         :  mp_frontend(frontend), m_group(0), m_min_segment_size(0){}
-
-      virtual std::pair<void *, std::size_t> create_new_segment(std::size_t alloc_size)
-      {  
-         //We should allocate an extra byte so that the
-         //[base_addr + alloc_size] byte belongs to this segment
-         alloc_size += 1;
-
-         //If requested size is less than minimum, update that
-         alloc_size = (m_min_segment_size > alloc_size) ? 
-                       m_min_segment_size : alloc_size;
-         if(mp_frontend->priv_new_segment(create_open_func::DoCreate,
-                                          alloc_size, 0)){
-            shmem_list_t::value_type &p_shm = *mp_frontend->m_shmem_list.rbegin();
-            return result_type(p_shm->get_address(), p_shm->get_size()-1);
-         }
-         return result_type(0, 0);  
-      }
-
-      virtual ~group_services(){}
-
-      void set_group(std::size_t group)
-         {  m_group = group;  }
-
-      std::size_t get_group() const
-         {  return m_group;  }
-
-      void set_min_segment_size(std::size_t min_segment_size)
-         {  m_min_segment_size = min_segment_size;  }
-
-      std::size_t get_min_segment_size() const
-         {  return m_min_segment_size;  }
-
-      private:
-
-      frontend_t * const   mp_frontend;
-      std::size_t          m_group;
-      std::size_t          m_min_segment_size;
-   };
-
-   /*!Functor to execute atomically when opening or creating a shared memory
-      segment.*/
-   struct create_open_func
-   {
-      enum type_t {  DoCreate, DoOpen, DoOpenOrCreate  };
-      typedef typename 
-         basic_managed_multi_shared_memory::void_pointer   void_pointer;
-
-      create_open_func(self_t * const    frontend,
-                       type_t type, std::size_t segment_number)
-         : mp_frontend(frontend), m_type(type), m_segment_number(segment_number){}
-
-      bool operator()(void *addr, std::size_t size, bool created) const
-      {  
-         if(((m_type == DoOpen)   &&  created) || 
-            ((m_type == DoCreate) && !created))
-            return false;
-         std::size_t group = mp_frontend->m_group_services.get_group();
-         bool mapped       = false;
-         bool impl_done    = false;
-
-         //Associate this newly created segment as the
-         //segment id = 0 of this group
-         if((mapped = void_pointer::insert_mapping(group, m_segment_number, addr, size))){
-            //Check if this is the master segment
-            if(!m_segment_number){
-               //Create or open the Interprocess machinery
-               if(impl_done = created ? 
-                  mp_frontend->create_impl(addr, size) : mp_frontend->open_impl(addr, size)){
-                  return true;
-               }
-            }
-            else{
-               return true;
-            }
-         }
-
-         //This is the cleanup part
-         //---------------
-         if(impl_done){
-            mp_frontend->close_impl();
-         }
-         if(mapped){
-            bool ret = void_pointer::erase_mapping(group, 0); 
-            assert(ret);(void)ret;
-         }
-         return false;
-      }
-      self_t * const    mp_frontend;
-      type_t            m_type;
-      std::size_t       m_segment_number;
-   };
-
-   /*!Functor to execute atomically when closing a shared memory segment.*/
-   struct close_func
-   {
-      typedef typename 
-         basic_managed_multi_shared_memory::void_pointer   void_pointer;
-
-      close_func(self_t * const frontend)
-         : mp_frontend(frontend){}
-
-      void operator()(const mapped_region ®ion, bool last) const
-      {  
-         if(last) mp_frontend->destroy_impl();
-         else     mp_frontend->close_impl();
-      }
-      self_t * const    mp_frontend;
-   };
-
-   typedef detail::basic_managed_memory_impl 
-      <CharType, MemoryAlgorithm, IndexType>                   base_t;
-
-   //Friend declarations
-   friend struct basic_managed_multi_shared_memory::create_open_func;
-   friend struct basic_managed_multi_shared_memory::close_func;
-   friend class basic_managed_multi_shared_memory::group_services;
-
-   typedef std::list<shared_memory*> shmem_list_t;
-
-   basic_managed_multi_shared_memory *get_this_pointer()
-      {  return this;   }
-
- public:
-
-   basic_managed_multi_shared_memory(detail::create_only_t,
-                                     const char *name,
-                                     std::size_t size)
-      :  m_group_services(get_this_pointer())
-   {
-      priv_open_or_create(create_open_func::DoCreate,name, size);  
-   }
-
-   basic_managed_multi_shared_memory(detail::open_or_create_t,
-                                     const char *name,
-                                     std::size_t size)
-      :  m_group_services(get_this_pointer())
-   {
-      priv_open_or_create(create_open_func::DoOpenOrCreate, name, size);
-   }
-
-   basic_managed_multi_shared_memory(detail::open_only_t,
-                                     const char *name)
-      :  m_group_services(get_this_pointer())
-   {
-      priv_open_or_create(create_open_func::DoOpen, name, 0);
-   }
-
-   ~basic_managed_multi_shared_memory()
-      {  this->priv_close(); }
-
-   private:
-   bool  priv_open_or_create(typename create_open_func::type_t type, 
-                             const char *name,
-                             std::size_t size)
-   {
-      if(!m_shmem_list.empty())
-         return false;
-      std::size_t group = 0;
-      BOOST_TRY{
-         m_root_name = name;
-         //Insert multi segment services and get a group identifier
-         group = void_pointer::new_group(static_cast<void*>(&m_group_services));
-         m_group_services.set_group(group);
-         m_group_services.set_min_segment_size(size);
-
-         if(group){
-            if(this->priv_new_segment(type, size, 0)){
-               return true;
-            }
-         }
-      }
-      BOOST_CATCH(const std::bad_alloc&){
-      }
-      BOOST_CATCH_END
-      if(group){
-         void_pointer::delete_group(group);
-      }
-      return false;      
-   }
-
-   bool  priv_new_segment(typename create_open_func::type_t type,
-                          std::size_t size,
-                          const void *addr)
-   {
-      BOOST_TRY{
-         //Get the number of groups of this multi_segment group
-         std::size_t segment_id  = m_shmem_list.size();
-         //Format the name of the shared memory: append segment number. 
-         boost::interprocess::basic_ovectorstream<boost::interprocess::string> formatter;
-         formatter.seekp(std::ios::beg);
-         //Pre-reserve string size
-         std::size_t str_size = m_root_name.length()+10;
-         if(formatter.vector().size() < str_size){
-            //This can throw.
-            formatter.reserve(str_size);
-         }
-         //Format segment's name
-         formatter << m_root_name
-                   << static_cast<unsigned int>(segment_id) << std::ends;
-         //This functor will be executed when constructing
-         create_open_func func(this, type, segment_id);
-         const char *name = formatter.vector().c_str();
-         //This can throw.
-         std::auto_ptr<shared_memory> shm;
-
-         switch(type){
-            case create_open_func::DoCreate:
-               shm.reset(new shared_memory(create_only, name, size
-                                          ,read_write, addr, func));
-            break;
-
-            case create_open_func::DoOpen:
-               shm.reset(new shared_memory(open_only, name
-                                          ,read_write, addr, func));
-            break;
-
-            case create_open_func::DoOpenOrCreate:
-               shm.reset(new shared_memory( boost::interprocess::open_or_create
-                                          , name, size, read_write
-                                          , addr, func));
-            break;
-
-            default:
-               return false;
-            break;
-         }
-         //This can throw.
-         m_shmem_list.push_back(shm.get());
-         //Anti-exception rollback
-         detail::value_eraser<shmem_list_t> 
-            value_eraser(m_shmem_list, --m_shmem_list.end());
-         shm.release();
-         value_eraser.release();
-         return true;
-      }
-      BOOST_CATCH(const std::bad_alloc&){
-      }
-      BOOST_CATCH_END
-      return false;
-   }
-
-   /*!Frees resources. Never throws.*/
-   void priv_close()
-   {  
-      if(!m_shmem_list.empty()){
-         bool ret;
-         //Obtain group identifier
-         std::size_t group = m_group_services.get_group();
-         //Erase main segment and its resources
-         shmem_list_t::iterator  itbeg = m_shmem_list.begin(),
-                                 itend = m_shmem_list.end(),
-                                 it    = itbeg;
-         //(*itbeg)->close_with_func(close_func(this));
-         //Delete group. All mappings are erased too.
-         ret = void_pointer::delete_group(group);
-         assert(ret);
-         //Now destroy all shared_memory segments so they 
-         //are unmapped from the process
-         for(it = itbeg; it != itend; ++it) delete *it;
-         m_shmem_list.clear();
-      }
-   }
-   
-   private:
-   shmem_list_t   m_shmem_list;
-   group_services m_group_services;
-   std::string    m_root_name;
-};
-
-}  //namespace interprocess {
-
-}  //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif   //BOOST_INTERPROCESS_MANAGED_MULTI_SHARED_MEMORY_HPP
-
Deleted: branches/hash/boost/interprocess/mem_algo/multi_simple_seq_fit.hpp
==============================================================================
--- branches/hash/boost/interprocess/mem_algo/multi_simple_seq_fit.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
+++ (empty file)
@@ -1,61 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztañaga 2005-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)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_MULTI_SIMPLE_SEQ_FIT_HPP
-#define BOOST_INTERPROCESS_MULTI_SIMPLE_SEQ_FIT_HPP
-
-#if (defined _MSC_VER) && (_MSC_VER >= 1200)
-#  pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/interprocess/interprocess_fwd.hpp>
-#include <boost/interprocess/mem_algo/detail/simple_seq_fit_impl.hpp>
-#include <boost/interprocess/intersegment_ptr.hpp>
-
-/*!\file
-   Describes sequential fit algorithm used to allocate objects in shared memory.
-*/
-
-namespace boost {
-
-namespace interprocess {
-
-/*!This class implements the simple sequential fit algorithm with a simply
-   linked list of free buffers.*/
-template<class MutexFamily, class VoidPtr>
-class multi_simple_seq_fit 
-   : public detail::simple_seq_fit_impl<MutexFamily, VoidPtr>
-{
-   typedef detail::simple_seq_fit_impl<MutexFamily, VoidPtr> base_t;
- public:
-   /*!Constructor. "size" is the total size of the managed memory segment, 
-      "extra_hdr_bytes" indicates the extra bytes beginning in the sizeof(multi_simple_seq_fit)
-      offset that the allocator should not use at all.*/
-   multi_simple_seq_fit           (std::size_t size, std::size_t extra_hdr_bytes)
-      : base_t(size, extra_hdr_bytes){}
-
-   /*!Allocates bytes from existing segments. If there is no memory, it uses
-      the growing functor associated with the group to allocate a new segment.
-      If this fails, returns 0.*/
-   void* allocate             (std::size_t nbytes)
-      {  return base_t::multi_allocate(nbytes);   }
-};
-
-}  //namespace interprocess {
-
-}  //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif   //#ifndef BOOST_INTERPROCESS_MULTI_SIMPLE_SEQ_FIT_HPP
-
Deleted: branches/hash/boost/interprocess/smart_ptr/detail/sp_counted_base_pt.hpp
==============================================================================
--- branches/hash/boost/interprocess/smart_ptr/detail/sp_counted_base_pt.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
+++ (empty file)
@@ -1,135 +0,0 @@
-#ifndef BOOST_INTERPROCESS_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
-#define BOOST_INTERPROCESS_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  This file is the adaptation for shared memory memory mapped
-//  files of boost/detail/sp_counted_base_pt.hpp
-//
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//  Copyright 2006 Ion Gaztañaga
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <typeinfo>
-#include <boost/interprocess/sync/posix/pthread_helpers.hpp>
-
-namespace boost{
-
-namespace interprocess{
-
-namespace detail{
-
-class sp_counted_base
-{
-   private:
-
-   sp_counted_base( sp_counted_base const & );
-   sp_counted_base & operator= ( sp_counted_base const & );
-
-   long use_count_;        // #shared
-   long weak_count_;       // #weak + (#shared != 0)
-
-   mutable pthread_mutex_t m_mut;
-
-   public:
-
-   sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-   {
-      detail::mutexattr_wrapper mut_attr;
-      detail::mutex_initializer mut(m_mut, mut_attr);
-      mut.release();
-   }
-
-   ~sp_counted_base() // nothrow
-   {
-      int res = pthread_mutex_destroy(&m_mut);
-      assert(res  == 0);(void)res;
-   }
-
-   // dispose() is called when use_count_ drops to zero, to release
-   // the resources managed by *this.
-/*
-   virtual void dispose() = 0; // nothrow
-
-   // destroy() is called when weak_count_ drops to zero.
-
-   virtual void destroy() // nothrow
-   {
-      delete this;
-   }
-
-   virtual void * get_deleter( std::type_info const & ti ) = 0;
-*/
-   void add_ref_copy()
-   {
-      pthread_mutex_lock( &m_mut );
-      ++use_count_;
-      pthread_mutex_unlock( &m_mut );
-   }
-
-   bool add_ref_lock() // true on success
-   {
-      pthread_mutex_lock( &m_mut );
-      bool r = use_count_ == 0? false: ( ++use_count_, true );
-      pthread_mutex_unlock( &m_mut );
-      return r;
-   }
-
-   bool ref_release() // nothrow
-   {
-      pthread_mutex_lock( &m_mut );
-      long new_use_count = --use_count_;
-      pthread_mutex_unlock( &m_mut );
-
-      return new_use_count == 0;
-   }
-
-   void weak_add_ref() // nothrow
-   {
-      pthread_mutex_lock( &m_mut );
-      ++weak_count_;
-      pthread_mutex_unlock( &m_mut );
-   }
-
-   bool weak_release() // nothrow
-   {
-      pthread_mutex_lock( &m_mut );
-      long new_weak_count = --weak_count_;
-      pthread_mutex_unlock( &m_mut );
-
-      return new_weak_count == 0;
-   }
-
-   long use_count() const // nothrow
-   {
-      pthread_mutex_lock( &m_mut );
-      long r = use_count_;
-      pthread_mutex_unlock( &m_mut );
-
-      return r;
-   }
-};
-
-} // namespace detail
-
-} // namespace interprocess
-
-} // namespace boost
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif  // #ifndef BOOST_INTERPROCESS_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
Deleted: branches/hash/boost/interprocess/smart_ptr/detail/sp_counted_base_w32.hpp
==============================================================================
--- branches/hash/boost/interprocess/smart_ptr/detail/sp_counted_base_w32.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
+++ (empty file)
@@ -1,119 +0,0 @@
-#ifndef BOOST_INTERPROCESS_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
-#define BOOST_INTERPROCESS_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  This file is the adaptation for shared memory memory mapped
-//  files of boost/detail/sp_counted_base_w32.hpp
-//
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//  Copyright 2006 Ion Gaztañaga
-//
-// 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)
-//
-//
-//  Lock-free algorithm by Alexander Terekhov
-//
-//  Thanks to Ben Hitchings for the #weak + (#shared != 0)
-//  formulation
-//
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/interprocess/detail/win32_api.hpp>
-#include <typeinfo>
-
-namespace boost {
-
-namespace interprocess {
-
-namespace detail {
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    long use_count_;        // #shared
-    long weak_count_;       // #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
-    {}
-
-    ~sp_counted_base() // nothrow
-    {}
-/*
-    // dispose() is called when use_count_ drops to zero, to release
-    // the resources managed by *this.
-
-    virtual void dispose() = 0; // nothrow
-
-    // destroy() is called when weak_count_ drops to zero.
-
-    virtual void destroy() // nothrow
-    {
-        delete this;
-    }
-
-    virtual void * get_deleter( std::type_info const & ti ) = 0;
-*/
-    void add_ref_copy()
-    {
-        winapi::interlocked_increment( &use_count_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        for( ;; )
-        {
-            long tmp = static_cast< long const volatile& >( use_count_ );
-            if( tmp == 0 ) return false;
-            if( winapi::interlocked_compare_exchange( &use_count_, tmp + 1, tmp ) == tmp ) return true;
-        }
-    }
-
-    bool ref_release() // nothrow
-       { return winapi::interlocked_decrement( &use_count_ ) == 0;  }
-
-/*
-    void release() // nothrow
-    {
-        if(ref_release()){
-            //dispose();
-            weak_release();
-        }
-    }
-*/
-   void weak_add_ref() // nothrow
-   { winapi::interlocked_increment( &weak_count_ ); }
-
-   bool weak_release() // nothrow
-   { return winapi::interlocked_decrement( &weak_count_ ) == 0; }
-
-   long use_count() const // nothrow
-   { return static_cast<long const volatile &>( use_count_ ); }
-};
-
-} // namespace detail
-
-} // namespace interprocess
-
-} // namespace boost
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif  // #ifndef BOOST_INTERPROCESS_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
Deleted: branches/hash/boost/interprocess/smart_ptr/segment_deleter.hpp
==============================================================================
--- branches/hash/boost/interprocess/smart_ptr/segment_deleter.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
+++ (empty file)
@@ -1,59 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2007. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_SMART_PTR_SEGMENT_DELETER_HPP
-#define BOOST_INTERPROCESS_SMART_PTR_SEGMENT_DELETER_HPP
-
-#if (defined _MSC_VER) && (_MSC_VER >= 1200)
-#  pragma once
-#  pragma warning (disable : 4503)
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/detail/utilities.hpp>
-
-//!\file
-//!Describes a deleter for smart pointers that deletes the
-//!object using the segment manager
-
-namespace boost {
-namespace interprocess {
-
-template < class SegmentManager
-         , class VoidPointer = typename SegmentManager::void_pointer>
-struct segment_deleter
-{
-   typedef typename detail::pointer_to_other
-      <VoidPointer, SegmentManager>::type SegmentManagerPtr;
-
-   segment_deleter(SegmentManagerPtr mngr)
-      :  m_mngr(mngr)
-   {}
-
-   template<class Ptr>
-   void operator() (const Ptr &ptr) const
-   {
-      m_mngr->destroy_ptr(detail::get_pointer(ptr));
-   }
-
-   /// @cond
-   private:
-   SegmentManagerPtr m_mngr;
-   /// @endcond
-};
-
-
-}  //namespace interprocess {
-}  //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif   //#ifndef BOOST_INTERPROCESS_SMART_PTR_SEGMENT_DELETER_HPP
Modified: branches/hash/boost/shared_array.hpp
==============================================================================
--- branches/hash/boost/shared_array.hpp	(original)
+++ branches/hash/boost/shared_array.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -103,7 +103,23 @@
         return px != 0;
     }
 
-#elif defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
+#elif defined( _MANAGED )
+
+    static void unspecified_bool( this_type*** )
+    {
+    }
+
+    typedef void (*unspecified_bool_type)( this_type*** );
+
+    operator unspecified_bool_type() const // never throws
+    {
+        return px == 0? 0: unspecified_bool;
+    }
+
+#elif \
+    ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \
+    ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) )
+
     typedef T * (this_type::*unspecified_bool_type)() const;
     
     operator unspecified_bool_type() const // never throws
Modified: branches/hash/boost/shared_ptr.hpp
==============================================================================
--- branches/hash/boost/shared_ptr.hpp	(original)
+++ branches/hash/boost/shared_ptr.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -453,9 +453,9 @@
         return pn < rhs.pn;
     }
 
-    void * _internal_get_deleter(std::type_info const & ti) const
+    void * _internal_get_deleter( detail::sp_typeinfo const & ti ) const
     {
-        return pn.get_deleter(ti);
+        return pn.get_deleter( ti );
     }
 
 // Tasteless as this may seem, making all members public allows member templates
@@ -594,7 +594,7 @@
 
 template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
 {
-    void const * q = p._internal_get_deleter(typeid(D));
+    void const * q = p._internal_get_deleter(BOOST_SP_TYPEID(D));
     return const_cast<D *>(static_cast<D const *>(q));
 }
 
@@ -602,7 +602,7 @@
 
 template<class D, class T> D * get_deleter(shared_ptr<T> const & p)
 {
-    return static_cast<D *>(p._internal_get_deleter(typeid(D)));
+    return static_cast<D *>(p._internal_get_deleter(BOOST_SP_TYPEID(D)));
 }
 
 #endif
Modified: branches/hash/libs/config/doc/html/boost_config/acknowledgements.html
==============================================================================
--- branches/hash/libs/config/doc/html/boost_config/acknowledgements.html	(original)
+++ branches/hash/libs/config/doc/html/boost_config/acknowledgements.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -9,14 +9,14 @@
 <link rel="prev" href="rationale.html" title="Rationale">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
+<table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
-</table>
+</tr></table>
 <hr>
 <div class="spirit-nav">
 <a accesskey="p" href="rationale.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
Modified: branches/hash/libs/config/doc/html/boost_config/boost_macro_reference.html
==============================================================================
--- branches/hash/libs/config/doc/html/boost_config/boost_macro_reference.html	(original)
+++ branches/hash/libs/config/doc/html/boost_config/boost_macro_reference.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -10,14 +10,14 @@
 <link rel="next" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
+<table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
-</table>
+</tr></table>
 <hr>
 <div class="spirit-nav">
 <a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
@@ -421,6 +421,41 @@
 <tr>
 <td>
               <p>
+                <code class="computeroutput"><span class="identifier">BOOST_NO_IOSFWD</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                std lib
+              </p>
+              </td>
+<td>
+              <p>
+                The standard library lacks <code class="computeroutput"><span class="special"><</span><span class="identifier">iosfwd</span><span class="special">></span></code>.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
+                <code class="computeroutput"><span class="identifier">BOOST_NO_IOSTREAM</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                std lib
+              </p>
+              </td>
+<td>
+              <p>
+                The standard library lacks <code class="computeroutput"><span class="special"><</span><span class="identifier">iostream</span><span class="special">></span></code>,
+                <code class="computeroutput"><span class="special"><</span><span class="identifier">istream</span><span class="special">></span></code> or <code class="computeroutput"><span class="special"><</span><span class="identifier">ostream</span><span class="special">></span></code>.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
                 <code class="computeroutput"><span class="identifier">BOOST_NO_IS_ABSTRACT</span></code>
               </p>
               </td>
@@ -832,6 +867,24 @@
 <tr>
 <td>
               <p>
+                <code class="computeroutput"><span class="identifier">BOOST_NO_STD_TYPEINFO</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Standard library
+              </p>
+              </td>
+<td>
+              <p>
+                The <typeinfo> header declares <code class="computeroutput"><span class="identifier">type_info</span></code>
+                in the global namespace instead of namespace std.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
                 <code class="computeroutput"><span class="identifier">BOOST_NO_STD_USE_FACET</span></code>
               </p>
               </td>
@@ -994,6 +1047,23 @@
 <tr>
 <td>
               <p>
+                <code class="computeroutput"><span class="identifier">BOOST_NO_TYPEID</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                Compiler
+              </p>
+              </td>
+<td>
+              <p>
+                The compiler does not support the typeid operator at all.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
                 <code class="computeroutput"><span class="identifier">BOOST_NO_UNREACHABLE_RETURN_DETECTION</span></code>
               </p>
               </td>
@@ -2028,6 +2098,18 @@
 <tr>
 <td>
               <p>
+                <code class="computeroutput"><span class="identifier">BOOST_HAS_DECLTYPE</span></code>
+              </p>
+              </td>
+<td>
+              <p>
+                The compiler supports decltype.
+              </p>
+              </td>
+</tr>
+<tr>
+<td>
+              <p>
                 <code class="computeroutput"><span class="identifier">BOOST_HAS_LONG_LONG</span></code>
               </p>
               </td>
@@ -2069,9 +2151,7 @@
               </td>
 <td>
               <p>
-                The compiler supports variadic templates. Note: variadic templates
-                have been proposed for C++0x, but have not yet been approved for
-                inclusion in the language.
+                The compiler supports variadic templates.
               </p>
               </td>
 </tr>
@@ -2717,19 +2797,19 @@
 <p class="title"><b></b></p>
 <dl>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">BOOST_LIB_NAME</span></code></span></dt>
-<dd>
-            Required: An identifier containing the basename of the library, for example
-            'boost_regex'.
-          </dd>
+<dd><p>
+              Required: An identifier containing the basename of the library, for
+              example 'boost_regex'.
+            </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">BOOST_DYN_LINK</span></code></span></dt>
-<dd>
-            Optional: when set link to dll rather than static library.
-          </dd>
+<dd><p>
+              Optional: when set link to dll rather than static library.
+            </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">BOOST_LIB_DIAGNOSTIC</span></code></span></dt>
-<dd>
-            Optional: when set the header will print out the name of the library
-            selected (useful for debugging).
-          </dd>
+<dd><p>
+              Optional: when set the header will print out the name of the library
+              selected (useful for debugging).
+            </p></dd>
 </dl>
 </div>
 <p>
Modified: branches/hash/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html
==============================================================================
--- branches/hash/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html	(original)
+++ branches/hash/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -10,14 +10,14 @@
 <link rel="next" href="rationale.html" title="Rationale">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
+<table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
-</table>
+</tr></table>
 <hr>
 <div class="spirit-nav">
 <a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
Modified: branches/hash/libs/config/doc/html/boost_config/rationale.html
==============================================================================
--- branches/hash/libs/config/doc/html/boost_config/rationale.html	(original)
+++ branches/hash/libs/config/doc/html/boost_config/rationale.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -10,14 +10,14 @@
 <link rel="next" href="acknowledgements.html" title="Acknowledgements">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
+<table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
-</table>
+</tr></table>
 <hr>
 <div class="spirit-nav">
 <a accesskey="p" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
Modified: branches/hash/libs/config/doc/html/index.html
==============================================================================
--- branches/hash/libs/config/doc/html/index.html	(original)
+++ branches/hash/libs/config/doc/html/index.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -8,14 +8,14 @@
 <link rel="next" href="boost_config/boost_macro_reference.html" title="Boost Macro Reference">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%">
+<table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
-</table>
+</tr></table>
 <hr>
 <div class="spirit-nav"><a accesskey="n" href="boost_config/boost_macro_reference.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
 <div class="article" lang="en">
@@ -28,7 +28,7 @@
 </h3></div></div></div>
 <div><p class="copyright">Copyright © 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
 <div><div class="legalnotice">
-<a name="id430912"></a><p>
+<a name="id499288"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -957,7 +957,7 @@
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><small><p>Last revised: June 08, 2007 at 08:33:58 GMT</p></small></td>
+<td align="left"><p><small>Last revised: August 25, 2007 at 12:03:01 GMT</small></p></td>
 <td align="right"><small></small></td>
 </tr></table>
 <hr>
Modified: branches/hash/libs/config/doc/macro_reference.qbk
==============================================================================
--- branches/hash/libs/config/doc/macro_reference.qbk	(original)
+++ branches/hash/libs/config/doc/macro_reference.qbk	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -120,6 +120,12 @@
 to explicitly specialize a template on `wchar_t` if there is already a
 specialization for other integer types.
 ]]
+[[`BOOST_NO_IOSFWD`][std lib][
+The standard library lacks `<iosfwd>`.
+]]
+[[`BOOST_NO_IOSTREAM`][std lib][
+The standard library lacks `<iostream>`, `<istream>` or `<ostream>`.
+]]
 [[`BOOST_NO_IS_ABSTRACT`][Compiler][
 The C++ compiler does not support SFINAE with abstract types, this is covered
 by __CORE_LANGUAGE_DR337__, but is not part of the current standard.  Fortunately
@@ -210,6 +216,9 @@
 [[`BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN`][Standard library][
 Defined if the standard library's output iterators are not assignable.
 ]]
+[[`BOOST_NO_STD_TYPEINFO`][Standard library][
+The <typeinfo> header declares `type_info` in the global namespace instead of namespace std.
+]]
 [[`BOOST_NO_STD_USE_FACET`][Standard library][
 The standard library lacks a conforming `std::use_facet`.
 ]]
@@ -244,6 +253,9 @@
 [[`BOOST_NO_TEMPLATE_TEMPLATES`][Compiler][
 The compiler does not support template template parameters.
 ]]
+[[`BOOST_NO_TYPEID`][Compiler][
+The compiler does not support the typeid operator at all.
+]]
 [[`BOOST_NO_UNREACHABLE_RETURN_DETECTION`][Compiler][
 If a return is unreachable, then no return statement should be required,
 however some compilers insist on it, while other issue a bunch of warnings
Modified: branches/hash/libs/config/test/Jamfile.v2
==============================================================================
--- branches/hash/libs/config/test/Jamfile.v2	(original)
+++ branches/hash/libs/config/test/Jamfile.v2	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -1,7 +1,7 @@
 #
 # Regression test Jamfile for boost configuration setup.
 # *** DO NOT EDIT THIS FILE BY HAND ***
-# This file was automatically generated on Mon Jan 01 12:39:24 2007
+# This file was automatically generated on Sat Aug 25 12:32:22 2007
 #  by libs/config/tools/generate.cpp
 # Copyright John Maddock.
 # Use, modification and distribution are subject to the 
@@ -17,7 +17,7 @@
 run config_info.cpp ;
 run math_info.cpp : : : <toolset>borland:<runtime-link>static ;
 run config_test.cpp ;
-run limits_test.cpp ../../test/build//boost_test_exec_monitor ;
+run limits_test.cpp ;
 run abi/abi_test.cpp abi/main.cpp  ;
 
 test-suite "BOOST_HAS_TWO_ARG_USE_FACET" : 
@@ -29,6 +29,9 @@
 test-suite "BOOST_HAS_CLOCK_GETTIME" : 
 [ run has_clock_gettime_pass.cpp ]
 [ compile-fail has_clock_gettime_fail.cpp ] ;
+test-suite "BOOST_HAS_CONCEPTS" : 
+[ run has_concepts_pass.cpp ]
+[ compile-fail has_concepts_fail.cpp ] ;
 test-suite "BOOST_HAS_DIRENT_H" : 
 [ run has_dirent_h_pass.cpp ]
 [ compile-fail has_dirent_h_fail.cpp ] ;
@@ -80,6 +83,9 @@
 test-suite "BOOST_HAS_PTHREAD_YIELD" : 
 [ run has_pthread_yield_pass.cpp ]
 [ compile-fail has_pthread_yield_fail.cpp ] ;
+test-suite "BOOST_HAS_RVALUE_REFS" : 
+[ run has_rvalue_refs_pass.cpp ]
+[ compile-fail has_rvalue_refs_fail.cpp ] ;
 test-suite "BOOST_HAS_SCHED_YIELD" : 
 [ run has_sched_yield_pass.cpp ]
 [ compile-fail has_sched_yield_fail.cpp ] ;
@@ -92,6 +98,9 @@
 test-suite "BOOST_HAS_SLIST" : 
 [ run has_slist_pass.cpp ]
 [ compile-fail has_slist_fail.cpp ] ;
+test-suite "BOOST_HAS_STATIC_ASSERT" : 
+[ run has_static_assert_pass.cpp ]
+[ compile-fail has_static_assert_fail.cpp ] ;
 test-suite "BOOST_HAS_STDINT_H" : 
 [ run has_stdint_h_pass.cpp ]
 [ compile-fail has_stdint_h_fail.cpp ] ;
@@ -152,6 +161,9 @@
 test-suite "BOOST_HAS_UNISTD_H" : 
 [ run has_unistd_h_pass.cpp ]
 [ compile-fail has_unistd_h_fail.cpp ] ;
+test-suite "BOOST_HAS_VARIADIC_TMPL" : 
+[ run has_variadic_tmpl_pass.cpp ]
+[ compile-fail has_variadic_tmpl_fail.cpp ] ;
 test-suite "BOOST_MSVC6_MEMBER_TEMPLATES" : 
 [ run has_vc6_mem_templ_pass.cpp ]
 [ compile-fail has_vc6_mem_templ_fail.cpp ] ;
@@ -221,6 +233,12 @@
 test-suite "BOOST_NO_INTEGRAL_INT64_T" : 
 [ run no_integral_int64_t_pass.cpp ]
 [ compile-fail no_integral_int64_t_fail.cpp ] ;
+test-suite "BOOST_NO_IOSFWD" : 
+[ run no_iosfwd_pass.cpp ]
+[ compile-fail no_iosfwd_fail.cpp ] ;
+test-suite "BOOST_NO_IOSTREAM" : 
+[ run no_iostream_pass.cpp ]
+[ compile-fail no_iostream_fail.cpp ] ;
 test-suite "BOOST_NO_IS_ABSTRACT" : 
 [ run no_is_abstract_pass.cpp ]
 [ compile-fail no_is_abstract_fail.cpp ] ;
@@ -299,6 +317,9 @@
 test-suite "BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN" : 
 [ run no_std_oi_assign_pass.cpp ]
 [ compile-fail no_std_oi_assign_fail.cpp ] ;
+test-suite "BOOST_NO_STD_TYPEINFO" : 
+[ run no_std_typeinfo_pass.cpp ]
+[ compile-fail no_std_typeinfo_fail.cpp ] ;
 test-suite "BOOST_NO_STD_USE_FACET" : 
 [ run no_std_use_facet_pass.cpp ]
 [ compile-fail no_std_use_facet_fail.cpp ] ;
@@ -317,6 +338,9 @@
 test-suite "BOOST_NO_TWO_PHASE_NAME_LOOKUP" : 
 [ run no_two_phase_lookup_pass.cpp ]
 [ compile-fail no_two_phase_lookup_fail.cpp ] ;
+test-suite "BOOST_NO_TYPEID" : 
+[ run no_typeid_pass.cpp ]
+[ compile-fail no_typeid_fail.cpp ] ;
 test-suite "BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL" : 
 [ run no_using_breaks_adl_pass.cpp ]
 [ compile-fail no_using_breaks_adl_fail.cpp ] ;
@@ -333,5 +357,3 @@
 [ run no_wchar_t_pass.cpp ]
 [ compile-fail no_wchar_t_fail.cpp ] ;
 
-
-
Modified: branches/hash/libs/config/test/config_info.cpp
==============================================================================
--- branches/hash/libs/config/test/config_info.cpp	(original)
+++ branches/hash/libs/config/test/config_info.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -899,6 +899,7 @@
    PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL);
    PRINT_MACRO(BOOST_HAS_BETHREADS);
    PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME);
+   PRINT_MACRO(BOOST_HAS_CONCEPTS);
    PRINT_MACRO(BOOST_HAS_DIRENT_H);
    PRINT_MACRO(BOOST_HAS_EXPM1);
    PRINT_MACRO(BOOST_HAS_FTIME);
@@ -916,10 +917,12 @@
    PRINT_MACRO(BOOST_HAS_PTHREAD_DELAY_NP);
    PRINT_MACRO(BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE);
    PRINT_MACRO(BOOST_HAS_PTHREAD_YIELD);
+   PRINT_MACRO(BOOST_HAS_RVALUE_REFS);
    PRINT_MACRO(BOOST_HAS_SCHED_YIELD);
    PRINT_MACRO(BOOST_HAS_SGI_TYPE_TRAITS);
    PRINT_MACRO(BOOST_HAS_SIGACTION);
    PRINT_MACRO(BOOST_HAS_SLIST);
+   PRINT_MACRO(BOOST_HAS_STATIC_ASSERT);
    PRINT_MACRO(BOOST_HAS_STDINT_H);
    PRINT_MACRO(BOOST_HAS_STLP_USE_FACET);
    PRINT_MACRO(BOOST_HAS_TR1_ARRAY);
@@ -941,6 +944,7 @@
    PRINT_MACRO(BOOST_HAS_TR1_UTILITY);
    PRINT_MACRO(BOOST_HAS_TWO_ARG_USE_FACET);
    PRINT_MACRO(BOOST_HAS_UNISTD_H);
+   PRINT_MACRO(BOOST_HAS_VARIADIC_TMPL);
    PRINT_MACRO(BOOST_HAS_WINTHREADS);
    PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES);
    PRINT_MACRO(BOOST_MSVC_STD_ITERATOR);
@@ -962,6 +966,8 @@
    PRINT_MACRO(BOOST_NO_INCLASS_MEMBER_INITIALIZATION);
    PRINT_MACRO(BOOST_NO_INTEGRAL_INT64_T);
    PRINT_MACRO(BOOST_NO_INTRINSIC_WCHAR_T);
+   PRINT_MACRO(BOOST_NO_IOSFWD);
+   PRINT_MACRO(BOOST_NO_IOSTREAM);
    PRINT_MACRO(BOOST_NO_IS_ABSTRACT);
    PRINT_MACRO(BOOST_NO_LIMITS);
    PRINT_MACRO(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS);
@@ -985,6 +991,7 @@
    PRINT_MACRO(BOOST_NO_STD_MESSAGES);
    PRINT_MACRO(BOOST_NO_STD_MIN_MAX);
    PRINT_MACRO(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN);
+   PRINT_MACRO(BOOST_NO_STD_TYPEINFO);
    PRINT_MACRO(BOOST_NO_STD_USE_FACET);
    PRINT_MACRO(BOOST_NO_STD_WSTREAMBUF);
    PRINT_MACRO(BOOST_NO_STD_WSTRING);
@@ -994,6 +1001,7 @@
    PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION);
    PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES);
    PRINT_MACRO(BOOST_NO_TWO_PHASE_NAME_LOOKUP);
+   PRINT_MACRO(BOOST_NO_TYPEID);
    PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION);
    PRINT_MACRO(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE);
    PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
@@ -1003,6 +1011,7 @@
 
 
 
+
    // END GENERATED BLOCK
 
    PRINT_MACRO(BOOST_INTEL);
Modified: branches/hash/libs/config/test/config_test.cpp
==============================================================================
--- branches/hash/libs/config/test/config_test.cpp	(original)
+++ branches/hash/libs/config/test/config_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -1,4 +1,4 @@
-//  This file was automatically generated on Mon Jan 01 12:39:24 2007
+//  This file was automatically generated on Sat Aug 25 12:32:22 2007
 //  by libs/config/tools/generate.cpp
 //  Copyright John Maddock 2002-4.
 //  Use, modification and distribution are subject to the 
@@ -119,6 +119,16 @@
 #else
 namespace boost_no_integral_int64_t = empty_boost;
 #endif
+#ifndef BOOST_NO_IOSFWD
+#include "boost_no_iosfwd.ipp"
+#else
+namespace boost_no_iosfwd = empty_boost;
+#endif
+#ifndef BOOST_NO_IOSTREAM
+#include "boost_no_iostream.ipp"
+#else
+namespace boost_no_iostream = empty_boost;
+#endif
 #ifndef BOOST_NO_IS_ABSTRACT
 #include "boost_no_is_abstract.ipp"
 #else
@@ -249,6 +259,11 @@
 #else
 namespace boost_no_std_output_iterator_assign = empty_boost;
 #endif
+#ifndef BOOST_NO_STD_TYPEINFO
+#include "boost_no_std_typeinfo.ipp"
+#else
+namespace boost_no_std_typeinfo = empty_boost;
+#endif
 #ifndef BOOST_NO_STD_USE_FACET
 #include "boost_no_std_use_facet.ipp"
 #else
@@ -279,6 +294,11 @@
 #else
 namespace boost_no_two_phase_name_lookup = empty_boost;
 #endif
+#ifndef BOOST_NO_TYPEID
+#include "boost_no_typeid.ipp"
+#else
+namespace boost_no_typeid = empty_boost;
+#endif
 #ifndef BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
 #include "boost_no_using_breaks_adl.ipp"
 #else
@@ -320,6 +340,11 @@
 #else
 namespace boost_has_clock_gettime = empty_boost;
 #endif
+#ifdef BOOST_HAS_CONCEPTS
+#include "boost_has_concepts.ipp"
+#else
+namespace boost_has_concepts = empty_boost;
+#endif
 #ifdef BOOST_HAS_DIRENT_H
 #include "boost_has_dirent_h.ipp"
 #else
@@ -405,6 +430,11 @@
 #else
 namespace boost_has_pthread_yield = empty_boost;
 #endif
+#ifdef BOOST_HAS_RVALUE_REFS
+#include "boost_has_rvalue_refs.ipp"
+#else
+namespace boost_has_rvalue_refs = empty_boost;
+#endif
 #ifdef BOOST_HAS_SCHED_YIELD
 #include "boost_has_sched_yield.ipp"
 #else
@@ -425,6 +455,11 @@
 #else
 namespace boost_has_slist = empty_boost;
 #endif
+#ifdef BOOST_HAS_STATIC_ASSERT
+#include "boost_has_static_assert.ipp"
+#else
+namespace boost_has_static_assert = empty_boost;
+#endif
 #ifdef BOOST_HAS_STDINT_H
 #include "boost_has_stdint_h.ipp"
 #else
@@ -525,6 +560,11 @@
 #else
 namespace boost_has_unistd_h = empty_boost;
 #endif
+#ifdef BOOST_HAS_VARIADIC_TMPL
+#include "boost_has_variadic_tmpl.ipp"
+#else
+namespace boost_has_variadic_tmpl = empty_boost;
+#endif
 #ifdef BOOST_MSVC6_MEMBER_TEMPLATES
 #include "boost_has_vc6_mem_templ.ipp"
 #else
@@ -558,6 +598,11 @@
       std::cerr << "Failed test for BOOST_HAS_CLOCK_GETTIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
       ++error_count;
    }
+   if(0 != boost_has_concepts::test())
+   {
+      std::cerr << "Failed test for BOOST_HAS_CONCEPTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+      ++error_count;
+   }
    if(0 != boost_has_dirent_h::test())
    {
       std::cerr << "Failed test for BOOST_HAS_DIRENT_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -643,6 +688,11 @@
       std::cerr << "Failed test for BOOST_HAS_PTHREAD_YIELD at: " << __FILE__ << ":" << __LINE__ << std::endl;
       ++error_count;
    }
+   if(0 != boost_has_rvalue_refs::test())
+   {
+      std::cerr << "Failed test for BOOST_HAS_RVALUE_REFS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+      ++error_count;
+   }
    if(0 != boost_has_sched_yield::test())
    {
       std::cerr << "Failed test for BOOST_HAS_SCHED_YIELD at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -663,6 +713,11 @@
       std::cerr << "Failed test for BOOST_HAS_SLIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
       ++error_count;
    }
+   if(0 != boost_has_static_assert::test())
+   {
+      std::cerr << "Failed test for BOOST_HAS_STATIC_ASSERT at: " << __FILE__ << ":" << __LINE__ << std::endl;
+      ++error_count;
+   }
    if(0 != boost_has_stdint_h::test())
    {
       std::cerr << "Failed test for BOOST_HAS_STDINT_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -763,6 +818,11 @@
       std::cerr << "Failed test for BOOST_HAS_UNISTD_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
       ++error_count;
    }
+   if(0 != boost_has_variadic_tmpl::test())
+   {
+      std::cerr << "Failed test for BOOST_HAS_VARIADIC_TMPL at: " << __FILE__ << ":" << __LINE__ << std::endl;
+      ++error_count;
+   }
    if(0 != boost_msvc6_member_templates::test())
    {
       std::cerr << "Failed test for BOOST_MSVC6_MEMBER_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -878,6 +938,16 @@
       std::cerr << "Failed test for BOOST_NO_INTEGRAL_INT64_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
       ++error_count;
    }
+   if(0 != boost_no_iosfwd::test())
+   {
+      std::cerr << "Failed test for BOOST_NO_IOSFWD at: " << __FILE__ << ":" << __LINE__ << std::endl;
+      ++error_count;
+   }
+   if(0 != boost_no_iostream::test())
+   {
+      std::cerr << "Failed test for BOOST_NO_IOSTREAM at: " << __FILE__ << ":" << __LINE__ << std::endl;
+      ++error_count;
+   }
    if(0 != boost_no_is_abstract::test())
    {
       std::cerr << "Failed test for BOOST_NO_IS_ABSTRACT at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1008,6 +1078,11 @@
       std::cerr << "Failed test for BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN at: " << __FILE__ << ":" << __LINE__ << std::endl;
       ++error_count;
    }
+   if(0 != boost_no_std_typeinfo::test())
+   {
+      std::cerr << "Failed test for BOOST_NO_STD_TYPEINFO at: " << __FILE__ << ":" << __LINE__ << std::endl;
+      ++error_count;
+   }
    if(0 != boost_no_std_use_facet::test())
    {
       std::cerr << "Failed test for BOOST_NO_STD_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1038,6 +1113,11 @@
       std::cerr << "Failed test for BOOST_NO_TWO_PHASE_NAME_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl;
       ++error_count;
    }
+   if(0 != boost_no_typeid::test())
+   {
+      std::cerr << "Failed test for BOOST_NO_TYPEID at: " << __FILE__ << ":" << __LINE__ << std::endl;
+      ++error_count;
+   }
    if(0 != boost_function_scope_using_declaration_breaks_adl::test())
    {
       std::cerr << "Failed test for BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL at: " << __FILE__ << ":" << __LINE__ << std::endl;
Modified: branches/hash/libs/functional/hash/doc/ref.xml
==============================================================================
--- branches/hash/libs/functional/hash/doc/ref.xml	(original)
+++ branches/hash/libs/functional/hash/doc/ref.xml	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -537,6 +537,11 @@
 
         <signature>
           <type>std::size_t</type>
+          <parameter name="val"><paramtype>wchar_t</paramtype></parameter>
+        </signature>
+
+        <signature>
+          <type>std::size_t</type>
           <parameter name="val"><paramtype>short</paramtype></parameter>
         </signature>
 
@@ -741,7 +746,11 @@
               </thead>
               <tbody>
                 <row>
-                  <entry><code>int</code>, <code>unsigned int</code>, <code>long</code>, <code>unsigned long</code></entry>
+                  <entry><code>bool</code>,
+                    <code>char</code>, <code>signed char</code>, <code>unsigned char</code>, <code>wchar_t</code>,
+                    <code>short</code>, <code>unsigned short</code>,
+                    <code>int</code>, <code>unsigned int</code>, <code>long</code>, <code>unsigned long</code>
+                  </entry>
                   <entry><code>val</code></entry>
                 </row>
                 <row>
Modified: branches/hash/libs/functional/hash/test/Jamfile.v2
==============================================================================
--- branches/hash/libs/functional/hash/test/Jamfile.v2	(original)
+++ branches/hash/libs/functional/hash/test/Jamfile.v2	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -8,8 +8,8 @@
 project hash-tests
     : requirements
         <toolset>gcc:<define>_GLIBCXX_DEBUG
-        "<toolset>gcc:<cxxflags>-Wsign-promo -Wextra"
-        <toolset>msvc:<cxxflags>/W4
+        <toolset>gcc:<cxxflags>-Wsign-promo
+        #<toolset>gcc:<cxxflags>-Wextra
     ;
 
 test-suite functional/hash
Modified: branches/hash/libs/graph/doc/bibliography.html
==============================================================================
--- branches/hash/libs/graph/doc/bibliography.html	(original)
+++ branches/hash/libs/graph/doc/bibliography.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -414,6 +414,28 @@
   <dd>Yuri Boykov and Vladimir Kolmogorov<br>
     <em>An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision</em><br>
     In IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 26, no. 9, pp. 1124-1137, Sept. 2004.
+
+<p></p><dt><a name="boyermyrvold04">70</a>
+<dd>John M. Boyer and Wendy J. Myrvold<br>
+<em><a href="http://www.emis.de/journals/JGAA/accepted/2004/BoyerMyrvold2004.8.3.pdf">
+On the Cutting Edge: Simplified O(n) Planarity by Edge Addition</a>
+</em><br>
+Journal of Graph Algorithms and Applications, 8(2): 241-273, 2004.
+
+<p></p><dt><a name="chrobakpayne95">71</a>
+<dd>M. Chrobak, T. Payne<br>
+<em>
+A Linear-time Algorithm for Drawing a Planar Graph on the Grid
+</em><br>
+Information Processing Letters 54: 241-246, 1995.
+
+<p></p><dt><a name="defraysseixpachpollack90">72</a>
+<dd>H. de Fraysseix, J. Pach, R. Pollack<br>
+<em>
+How to Draw a Planar Graph on a Grid
+</em><br>
+Combinatorica 10: 41-51, 1990.
+
 </dl>
   
 <br>
Modified: branches/hash/libs/graph/doc/history.html
==============================================================================
--- branches/hash/libs/graph/doc/history.html	(original)
+++ branches/hash/libs/graph/doc/history.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -86,11 +86,13 @@
       <li>read_dimacs_max_flow and write_dimacs_max_flow for max-flow problems, from Stephan Diederich.</li>
       <li>read_graphml and write_graphml for GraphML input/output, from Tiago de Paula Peixoto.</li>
       <li>minimum_cycle_ratio and maximum_cycle_ratio, from Dmitry Bufistov and Andrey Parfenov.</li>
+      <li>boyer_myrvold_planarity_test, along with a suite of algorithms for planar graphs, from Aaron Windsor.</li>
     </ul><br><b>Enhancements</b><br>
     <ul>
       <li>LEDA Adaptor improvements, from Jens Müller.</li>
     </ul>
   </li><br>
+
   <a name="1.34.0"></a><li>Version 1.34.0<br><b>New algorithms and components</b>
     <ul>
       <li>edmonds_maximum_cardinality_matching, from Aaron Windsor.</li>
Modified: branches/hash/libs/graph/doc/table_of_contents.html
==============================================================================
--- branches/hash/libs/graph/doc/table_of_contents.html	(original)
+++ branches/hash/libs/graph/doc/table_of_contents.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -76,6 +76,7 @@
             <LI>Bellman Ford Visitor
             <LI>A* Visitor</LI>
             <LI>Event Visitor
+	    <LI>Planar Face Visitor
           </OL>
         <li>EventVisitorList Adaptors
           <OL>
@@ -216,6 +217,28 @@
                 <li>astar_search</li>
                 <li>lengauer_tarjan_dominator_tree</li>
                 <li>minimum_cycle_ratio and maximum_cycle_ratio</li>
+		<li>Planar Graph Algorithms
+		<ol>
+		<li><a href="boyer_myrvold.html">
+		<tt>boyer_myrvold_planarity_test</tt></a>
+		<li><a href="planar_face_traversal.html">
+		<tt>planar_face_traversal</tt></a>
+		<li><a href="planar_canonical_ordering.html">
+		<tt>planar_canonical_ordering</tt></a>
+		<li><a href="straight_line_drawing.html">
+		<tt>chrobak_payne_straight_line_drawing</tt></a>
+		<li><a href="is_straight_line_drawing.html">
+		<tt>is_straight_line_drawing</tt></a>
+		<li><a href="is_kuratowski_subgraph.html">
+		<tt>is_kuratowski_subgraph</tt></a>
+		<li><a href="make_connected.html">
+		<tt>make_connected</tt></a>
+		<li><a href="make_biconnected_planar.html">
+		<tt>make_biconnected_planar</tt></a>
+		<li><a href="make_maximal_planar.html">
+		<tt>make_maximal_planar</tt></a>
+		</ol>
+		
             </OL>
          </OL>
 
Modified: branches/hash/libs/graph/test/Jamfile.v2
==============================================================================
--- branches/hash/libs/graph/test/Jamfile.v2	(original)
+++ branches/hash/libs/graph/test/Jamfile.v2	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -5,6 +5,8 @@
 
 local optional_tests ;
 
+path-constant PLANAR_INPUT_FILES : ./planar_input_graphs ;
+
 if [ modules.peek : EXPAT_INCLUDE ] && [ modules.peek : EXPAT_LIBPATH ]
 {
   optional_tests += [ run graphml_test.cpp ../build//boost_graph ] ;
@@ -105,6 +107,24 @@
 
     [ run cycle_ratio_tests.cpp ../build//boost_graph ]
 
+    [ run basic_planarity_test.cpp ]
+
+    [ run make_connected_test.cpp ]
+
+    [ run make_biconnected_planar_test.cpp ]
+
+    [ run make_maximal_planar_test.cpp ]
+
+    [ run all_planar_input_files_test.cpp 
+        ../../filesystem/build 
+        ../../system/build
+        : $(PLANAR_INPUT_FILES) ]
+
+    [ run parallel_edges_loops_test.cpp 
+        ../../filesystem/build 
+        ../../system/build
+        : $(PLANAR_INPUT_FILES) ]
+
     $(optional_tests)
     ;
 
Modified: branches/hash/libs/interprocess/test/allocator_v1.hpp
==============================================================================
--- branches/hash/libs/interprocess/test/allocator_v1.hpp	(original)
+++ branches/hash/libs/interprocess/test/allocator_v1.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -28,49 +28,38 @@
 #include <cstddef>
 #include <stdexcept>
 
-/*!\file
-   Describes an allocator_v1 that allocates portions of fixed size
-   memory buffer (shared memory, mapped file...)
-*/
+//!\file
+//!Describes an allocator_v1 that allocates portions of fixed size
+//!memory buffer (shared memory, mapped file...)
 
 namespace boost {
 namespace interprocess {
 namespace test {
 
-/*!An STL compatible allocator_v1 that uses a segment manager as 
-   memory source. The internal pointer type will of the same type (raw, smart) as
-   "typename SegmentManager::void_pointer" type. This allows
-   placing the allocator_v1 in shared memory, memory mapped-files, etc...*/
+//!An STL compatible allocator_v1 that uses a segment manager as 
+//!memory source. The internal pointer type will of the same type (raw, smart) as
+//!"typename SegmentManager::void_pointer" type. This allows
+//!placing the allocator_v1 in shared memory, memory mapped-files, etc...*/
 template<class T, class SegmentManager>
 class allocator_v1 
 {
  private:
-   /*!Self type*/
-   typedef allocator_v1<T, SegmentManager>   self_t;
-
-   /*!Segment manager*/
-   typedef SegmentManager                 segment_manager;
-
-   /*!Pointer to void */
+   typedef allocator_v1<T, SegmentManager>         self_t;
+   typedef SegmentManager                          segment_manager;
    typedef typename segment_manager::void_pointer  aux_pointer_t;
 
-   /*!Typedef to const void pointer */
    typedef typename 
       detail::pointer_to_other
          <aux_pointer_t, const void>::type   cvoid_ptr;
 
-   /*!Pointer to the allocator_v1*/
    typedef typename detail::pointer_to_other
       <cvoid_ptr, segment_manager>::type     alloc_ptr_t;
 
-   /*!Not assignable from related allocator_v1*/
    template<class T2, class SegmentManager2>
    allocator_v1& operator=(const allocator_v1<T2, SegmentManager2>&);
 
-   /*!Not assignable from other allocator_v1*/
    allocator_v1& operator=(const allocator_v1&);
 
-   /*!Pointer to the allocator_v1*/
    alloc_ptr_t mp_mngr;
 
  public:
@@ -86,14 +75,14 @@
    typedef std::size_t                          size_type;
    typedef std::ptrdiff_t                       difference_type;
 
-   /*!Obtains an allocator_v1 of other type*/
+   //!Obtains an allocator_v1 of other type
    template<class T2>
    struct rebind
    {   
       typedef allocator_v1<T2, SegmentManager>     other;
    };
 
-   /*!Returns the segment manager. Never throws*/
+   //!Returns the segment manager. Never throws
    segment_manager* get_segment_manager()const
    {  return detail::get_pointer(mp_mngr);   }
 /*
@@ -105,25 +94,25 @@
    const_pointer address(const_reference value) const
    {  return const_pointer(addressof(value));  }
 */
-   /*!Constructor from the segment manager. Never throws*/
+   //!Constructor from the segment manager. Never throws
    allocator_v1(segment_manager *segment_mngr) 
       : mp_mngr(segment_mngr) { }
 
-   /*!Constructor from other allocator_v1. Never throws*/
+   //!Constructor from other allocator_v1. Never throws
    allocator_v1(const allocator_v1 &other) 
       : mp_mngr(other.get_segment_manager()){ }
 
-   /*!Constructor from related allocator_v1. Never throws*/
+   //!Constructor from related allocator_v1. Never throws
    template<class T2>
    allocator_v1(const allocator_v1<T2, SegmentManager> &other) 
       : mp_mngr(other.get_segment_manager()){}
 
-   /*!Allocates memory for an array of count elements. 
-      Throws boost::interprocess::bad_alloc if there is no enough memory*/
+   //!Allocates memory for an array of count elements. 
+   //!Throws boost::interprocess::bad_alloc if there is no enough memory
    pointer allocate(size_type count, cvoid_ptr hint = 0)
    {  (void)hint; return pointer((value_type*)mp_mngr->allocate(count*sizeof(value_type)));  }
 
-   /*!Deallocates memory previously allocated. Never throws*/
+   //!Deallocates memory previously allocated. Never throws
    void deallocate(const pointer &ptr, size_type)
    {  mp_mngr->deallocate(detail::get_pointer(ptr));  }
 /*
@@ -136,23 +125,23 @@
    void destroy(const pointer &ptr)
    {  BOOST_ASSERT(ptr != 0); (*ptr).~value_type();  }
 */
-   /*!Returns the number of elements that could be allocated. Never throws*/
+   //!Returns the number of elements that could be allocated. Never throws
    size_type max_size() const
    {  return mp_mngr->get_size();   }
 
-   /*!Swap segment manager. Does not throw. If each allocator_v1 is placed in
-      different memory segments, the result is undefined.*/
+   //!Swap segment manager. Does not throw. If each allocator_v1 is placed in
+   //!different memory segments, the result is undefined.
    friend void swap(self_t &alloc1, self_t &alloc2)
    {  detail::do_swap(alloc1.mp_mngr, alloc2.mp_mngr);   }
 };
 
-/*!Equality test for same type of allocator_v1*/
+//!Equality test for same type of allocator_v1
 template<class T, class SegmentManager> inline
 bool operator==(const allocator_v1<T , SegmentManager>  &alloc1, 
                 const allocator_v1<T, SegmentManager>  &alloc2)
    {  return alloc1.get_segment_manager() == alloc2.get_segment_manager(); }
 
-/*!Inequality test for same type of allocator_v1*/
+//!Inequality test for same type of allocator_v1
 template<class T, class SegmentManager> inline
 bool operator!=(const allocator_v1<T, SegmentManager>  &alloc1, 
                 const allocator_v1<T, SegmentManager>  &alloc2)
Modified: branches/hash/libs/interprocess/test/allocexcept_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/allocexcept_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/allocexcept_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -18,7 +18,7 @@
 #include <functional>
 #include "print_container.hpp"
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 struct InstanceCounter
 {
@@ -36,7 +36,7 @@
 int main ()
 {
    const int memsize = 16384;
-   const char *const shMemName = test::get_compiler_name();
+   const char *const shMemName = test::get_process_id_name();
 
    try{
    shared_memory_object::remove(shMemName);
Modified: branches/hash/libs/interprocess/test/check_equal_containers.hpp
==============================================================================
--- branches/hash/libs/interprocess/test/check_equal_containers.hpp	(original)
+++ branches/hash/libs/interprocess/test/check_equal_containers.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -32,9 +32,13 @@
 
    typename MyShmCont::iterator itshm(shmcont->begin()), itshmend(shmcont->end());
    typename MyStdCont::iterator itstd(stdcont->begin());
+   if((typename MyShmCont::size_type)std::distance(itshm, itshmend) != shmcont->size()){
+      return false;
+   }
    for(; itshm != itshmend; ++itshm, ++itstd){
       value_type val(*itstd);
-      if(*itshm != val)
+      const value_type &v = *itshm;
+      if(v != val)
          return false;
    }
    return true;
Modified: branches/hash/libs/interprocess/test/data_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/data_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/data_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -18,17 +18,17 @@
 #include <functional>
 #include <string>
 #include "print_container.hpp"
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
 int main ()
 {
    const int memsize = 65536;
-   std::string compiler_name;
-   test::get_compiler_name(compiler_name);
-   const char *const shMemName = compiler_name.c_str();
-   std::string filename (test::get_compiler_name());
+   std::string process_name;
+   test::get_process_id_name(process_name);
+   const char *const shMemName = process_name.c_str();
+   std::string filename (test::get_process_id_name());
    filename += "_file";
 
    try{
Modified: branches/hash/libs/interprocess/test/deque_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/deque_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/deque_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -29,7 +29,7 @@
 #include <boost/interprocess/detail/move.hpp>
 #include <boost/interprocess/detail/mpl.hpp>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 //***************************************************************//
 //                                                               //
@@ -96,7 +96,7 @@
    typedef deque<IntType, shmem_allocator_t>   MyShmDeque;
    typedef std::deque<int>                     MyStdDeque;
    const int Memsize = 65536;
-   const char *const shMemName = test::get_compiler_name();
+   const char *const shMemName = test::get_process_id_name();
    const int max = 100;
 
    try{
Modified: branches/hash/libs/interprocess/test/dummy_test_allocator.hpp
==============================================================================
--- branches/hash/libs/interprocess/test/dummy_test_allocator.hpp	(original)
+++ branches/hash/libs/interprocess/test/dummy_test_allocator.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -30,9 +30,8 @@
 #include <stdexcept>
 #include <assert.h>
 
-/*!\file
-   Describes an allocator to test expand capabilities
-*/
+//!\file
+//!Describes an allocator to test expand capabilities
 
 namespace boost {
 namespace interprocess {
@@ -71,15 +70,15 @@
    struct rebind
    {  typedef dummy_test_allocator<T2>   other;   };
 
-   /*!Default constructor. Never throws*/
+   //!Default constructor. Never throws
    dummy_test_allocator()
    {} 
 
-   /*!Constructor from other dummy_test_allocator. Never throws*/
+   //!Constructor from other dummy_test_allocator. Never throws
    dummy_test_allocator(const dummy_test_allocator &other)
    {}
 
-   /*!Constructor from related dummy_test_allocator. Never throws*/
+   //!Constructor from related dummy_test_allocator. Never throws
    template<class T2>
    dummy_test_allocator(const dummy_test_allocator<T2> &other)
    {}
@@ -118,31 +117,31 @@
                          size_type &, const pointer & = 0)
    {  return std::pair<pointer, bool>(0, true); }
 
-   /*!Returns maximum the number of objects the previously allocated memory
-      pointed by p can hold.*/
+   //!Returns maximum the number of objects the previously allocated memory
+   //!pointed by p can hold.
    size_type size(const pointer &) const
    {  return 0; }
 
-   /*!Allocates just one object. Memory allocated with this function
-      must be deallocated only with deallocate_one().
-      Throws boost::interprocess::bad_alloc if there is no enough memory*/
+   //!Allocates just one object. Memory allocated with this function
+   //!must be deallocated only with deallocate_one().
+   //!Throws boost::interprocess::bad_alloc if there is no enough memory
    pointer allocate_one()
    {  return pointer(0);  }
 
-   /*!Deallocates memory previously allocated with allocate_one().
-      You should never use deallocate_one to deallocate memory allocated
-      with other functions different from allocate_one(). Never throws*/
+   //!Deallocates memory previously allocated with allocate_one().
+   //!You should never use deallocate_one to deallocate memory allocated
+   //!with other functions different from allocate_one(). Never throws
    void deallocate_one(const pointer &)
    {}
 };
 
-/*!Equality test for same type of dummy_test_allocator*/
+//!Equality test for same type of dummy_test_allocator
 template<class T> inline
 bool operator==(const dummy_test_allocator<T>  &alloc1, 
                 const dummy_test_allocator<T>  &alloc2)
 {  return false; }
 
-/*!Inequality test for same type of dummy_test_allocator*/
+//!Inequality test for same type of dummy_test_allocator
 template<class T> inline
 bool operator!=(const dummy_test_allocator<T>  &alloc1, 
                 const dummy_test_allocator<T>  &alloc2)
Modified: branches/hash/libs/interprocess/test/expand_bwd_test_allocator.hpp
==============================================================================
--- branches/hash/libs/interprocess/test/expand_bwd_test_allocator.hpp	(original)
+++ branches/hash/libs/interprocess/test/expand_bwd_test_allocator.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -30,14 +30,11 @@
 #include <stdexcept>
 #include <assert.h>
 
-/*!\file
-   Describes an allocator to test expand capabilities
-*/
+//!\file
+//!Describes an allocator to test expand capabilities
 
 namespace boost {
-
 namespace interprocess {
-
 namespace test {
 
 //This allocator just allows two allocations. The first one will return 
@@ -73,17 +70,17 @@
    struct rebind
    {  typedef expand_bwd_test_allocator<T2>   other;   };
 
-   /*!Constructor from the segment manager. Never throws*/
+   //!Constructor from the segment manager. Never throws
    expand_bwd_test_allocator(T *buffer, size_type size, difference_type offset) 
       : mp_buffer(buffer), m_size(size)
       , m_offset(offset),  m_allocations(0){ }
 
-   /*!Constructor from other expand_bwd_test_allocator. Never throws*/
+   //!Constructor from other expand_bwd_test_allocator. Never throws
    expand_bwd_test_allocator(const expand_bwd_test_allocator &other) 
       : mp_buffer(other.mp_buffer), m_size(other.m_size)
       , m_offset(other.m_offset),  m_allocations(0){ }
 
-   /*!Constructor from related expand_bwd_test_allocator. Never throws*/
+   //!Constructor from related expand_bwd_test_allocator. Never throws
    template<class T2>
    expand_bwd_test_allocator(const expand_bwd_test_allocator<T2> &other)
       : mp_buffer(other.mp_buffer), m_size(other.m_size)
@@ -153,20 +150,20 @@
       return std::pair<pointer, bool>(0, true);
    }
 
-   /*!Returns maximum the number of objects the previously allocated memory
-      pointed by p can hold.*/
+   //!Returns maximum the number of objects the previously allocated memory
+   //!pointed by p can hold.
    size_type size(const pointer &p) const
    {  (void)p; return m_size; }
 
-   /*!Allocates just one object. Memory allocated with this function
-      must be deallocated only with deallocate_one().
-      Throws boost::interprocess::bad_alloc if there is no enough memory*/
+   //!Allocates just one object. Memory allocated with this function
+   //!must be deallocated only with deallocate_one().
+   //!Throws boost::interprocess::bad_alloc if there is no enough memory
    pointer allocate_one()
    {  return this->allocate(1);  }
 
-   /*!Deallocates memory previously allocated with allocate_one().
-      You should never use deallocate_one to deallocate memory allocated
-      with other functions different from allocate_one(). Never throws*/
+   //!Deallocates memory previously allocated with allocate_one().
+   //!You should never use deallocate_one to deallocate memory allocated
+   //!with other functions different from allocate_one(). Never throws
    void deallocate_one(const pointer &p)
    {  return this->deallocate(p, 1);  }
 
@@ -176,13 +173,13 @@
    char              m_allocations;
 };
 
-/*!Equality test for same type of expand_bwd_test_allocator*/
+//!Equality test for same type of expand_bwd_test_allocator
 template<class T> inline
 bool operator==(const expand_bwd_test_allocator<T>  &alloc1, 
                 const expand_bwd_test_allocator<T>  &alloc2)
 {  return false; }
 
-/*!Inequality test for same type of expand_bwd_test_allocator*/
+//!Inequality test for same type of expand_bwd_test_allocator
 template<class T> inline
 bool operator!=(const expand_bwd_test_allocator<T>  &alloc1, 
                 const expand_bwd_test_allocator<T>  &alloc2)
Deleted: branches/hash/libs/interprocess/test/file_lock_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/file_lock_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
+++ (empty file)
@@ -1,51 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gazta�ga 2004-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)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/sync/file_lock.hpp>
-#include <boost/interprocess/sync/scoped_lock.hpp>
-#include <boost/date_time/posix_time/ptime.hpp>
-#include <boost/date_time/posix_time/posix_time_types.hpp>
-#include "mutex_test_template.hpp"
-#include "sharable_mutex_test_template.hpp"
-#include <fstream>
-#include <cstdio>
-
-
-//This wrapper is necessary to have a default constructor
-//in generic mutex_test_template functions
-class file_lock_lock_test_wrapper
-   : public boost::interprocess::file_lock
-{
-   public:
-   file_lock_lock_test_wrapper()
-      :  boost::interprocess::file_lock("file_lock")
-   {}
-};
-
-int main ()
-{
-   using namespace boost::interprocess;
-   //Destroy and create file
-   {
-      std::remove("file_lock");
-      std::ofstream file("file_lock");
-      if(!file){
-         return 1;
-      }
-   }
-
-   test::test_all_lock<file_lock_lock_test_wrapper>();
-   test::test_all_mutex<false, file_lock_lock_test_wrapper>();
-   test::test_all_sharable_mutex<false, file_lock_lock_test_wrapper>();
-   return 0;
-}
-
-#include <boost/interprocess/detail/config_end.hpp>
Modified: branches/hash/libs/interprocess/test/file_mapping_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/file_mapping_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/file_mapping_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -16,7 +16,7 @@
 #include <memory>
 #include <cstdio>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
@@ -26,14 +26,14 @@
       const std::size_t FileSize = 99999*2;
       {
          //Create file with given size
-         std::ofstream file(test::get_compiler_name(), std::ios::binary | std::ios::trunc);
+         std::ofstream file(test::get_process_id_name(), std::ios::binary | std::ios::trunc);
          file.seekp(static_cast<std::streamoff>(FileSize-1));
          file.write("", 1);
       }
 
       {
          //Create a file mapping
-         file_mapping mapping(test::get_compiler_name(), read_write);
+         file_mapping mapping(test::get_process_id_name(), read_write);
          //Create two mapped regions, one half of the file each
          mapped_region region (mapping
                               ,read_write
@@ -66,7 +66,7 @@
       //See if the pattern is correct in the file
       {
          //Open the file
-         std::ifstream file(test::get_compiler_name(), std::ios::binary);
+         std::ifstream file(test::get_process_id_name(), std::ios::binary);
 
          //Create a memory buffer
          std::auto_ptr<unsigned char> memory (new unsigned char [FileSize/2 +1]);
@@ -103,7 +103,7 @@
       //Now check the pattern mapping a single read only mapped_region
       {
          //Create a file mapping
-         file_mapping mapping(test::get_compiler_name(), read_only);
+         file_mapping mapping(test::get_process_id_name(), read_only);
 
          //Create a single regions, mapping all the file
          mapped_region region (mapping
@@ -122,11 +122,11 @@
       }
    }
    catch(std::exception &exc){
-      std::remove(test::get_compiler_name());
+      std::remove(test::get_process_id_name());
       std::cout << "Unhandled exception: " << exc.what() << std::endl;
       throw;
    }
-   std::remove(test::get_compiler_name());
+   std::remove(test::get_process_id_name());
    return 0;
 }
 
Modified: branches/hash/libs/interprocess/test/flat_tree_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/flat_tree_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/flat_tree_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -120,6 +120,7 @@
                   ,MyStdSet
                   ,MyShmMultiSet
                   ,MyStdMultiSet>()){
+      std::cout << "Error in set_test<MyShmSet>" << std::endl;
       return 1;
    }
    if (0 != set_test<my_managed_shared_memory
@@ -127,6 +128,7 @@
                   ,MyStdSet
                   ,MyMovableShmMultiSet
                   ,MyStdMultiSet>()){
+      std::cout << "Error in set_test<MyMovableShmSet>" << std::endl;
       return 1;
    }
 
@@ -135,6 +137,7 @@
                   ,MyStdSet
                   ,MyMoveCopyShmMultiSet
                   ,MyStdMultiSet>()){
+      std::cout << "Error in set_test<MyMoveCopyShmSet>" << std::endl;
       return 1;
    }
 
@@ -143,6 +146,7 @@
                   ,MyStdMap
                   ,MyShmMultiMap
                   ,MyStdMultiMap>()){
+      std::cout << "Error in set_test<MyShmMap>" << std::endl;
       return 1;
    }
 
@@ -159,6 +163,7 @@
                   ,MyStdMap
                   ,MyMoveCopyShmMultiMap
                   ,MyStdMultiMap>()){
+      std::cout << "Error in set_test<MyMoveCopyShmMap>" << std::endl;
       return 1;
    }
 
Modified: branches/hash/libs/interprocess/test/intrusive_ptr_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/intrusive_ptr_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/intrusive_ptr_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -19,22 +19,6 @@
 #include <algorithm>
 #include <functional>
 
-#if defined(BOOST_MSVC)
-
-#pragma warning(disable: 4786)  // identifier truncated in debug info
-#pragma warning(disable: 4710)  // function not inlined
-#pragma warning(disable: 4711)  // function selected for automatic inline expansion
-#pragma warning(disable: 4514)  // unreferenced inline removed
-#pragma warning(disable: 4355)  // 'this' : used in base member initializer list
-#pragma warning(disable: 4511)  // copy constructor could not be generated
-#pragma warning(disable: 4512)  // assignment operator could not be generated
-
-#if (BOOST_MSVC >= 1310)
-#pragma warning(disable: 4675)  // resolved overload found with Koenig lookup
-#endif
-
-#endif
-
 typedef boost::interprocess::offset_ptr<void> VP;
 
 namespace N
Modified: branches/hash/libs/interprocess/test/list_test.hpp
==============================================================================
--- branches/hash/libs/interprocess/test/list_test.hpp	(original)
+++ branches/hash/libs/interprocess/test/list_test.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -21,7 +21,7 @@
 #include <boost/interprocess/detail/move.hpp>
 #include <boost/interprocess/detail/move_iterator.hpp>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 namespace boost{
 namespace interprocess{
@@ -94,7 +94,7 @@
    typedef std::list<int> MyStdList;
    typedef typename MyShmList::value_type IntType;
    const int memsize = 65536;
-   const char *const shMemName = test::get_compiler_name();
+   const char *const shMemName = test::get_process_id_name();
    const int max = 100;
    typedef push_data_function<DoublyLinked> push_data_t;
 
Modified: branches/hash/libs/interprocess/test/managed_mapped_file_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/managed_mapped_file_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/managed_mapped_file_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -14,14 +14,14 @@
 #include <boost/interprocess/managed_mapped_file.hpp>
 #include <cstdio>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
 int main ()
 {
    const int FileSize          = 65536;
-   const char *const FileName = test::get_compiler_name();
+   const char *const FileName = test::get_process_id_name();
 
    //STL compatible allocator object for memory-mapped file
    typedef allocator<int, managed_mapped_file::segment_manager>
Modified: branches/hash/libs/interprocess/test/managed_windows_shared_memory_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/managed_windows_shared_memory_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/managed_windows_shared_memory_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -17,14 +17,14 @@
 #include <boost/interprocess/managed_windows_shared_memory.hpp>
 #include <cstdio>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
 int main ()
 {
    const int MemSize          = 65536;
-   const char *const MemName  = test::get_compiler_name();
+   const char *const MemName  = test::get_process_id_name();
 
    //STL compatible allocator object for shared memory
    typedef allocator<int, managed_windows_shared_memory::segment_manager>
Modified: branches/hash/libs/interprocess/test/map_test.hpp
==============================================================================
--- branches/hash/libs/interprocess/test/map_test.hpp	(original)
+++ branches/hash/libs/interprocess/test/map_test.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -21,7 +21,7 @@
 #include <boost/interprocess/detail/utilities.hpp>
 #include <boost/interprocess/detail/iterators.hpp>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 template<class T1, class T2, class T3, class T4>
 bool operator ==(std::pair<T1, T2> &p1, std::pair<T1, T2> &p2)
@@ -44,7 +44,7 @@
    typedef std::pair<IntType, IntType>    IntPairType;
    typedef typename MyStdMap::value_type  StdPairType;
    const int memsize = 65536;
-   const char *const shMemName = test::get_compiler_name();
+   const char *const shMemName = test::get_process_id_name();
    const int max = 100;
 
    try{
@@ -338,7 +338,7 @@
    typedef typename MyStdMap::value_type  StdPairType;
 
    const int memsize = 65536;
-   const char *const shMemName = test::get_compiler_name();
+   const char *const shMemName = test::get_process_id_name();
    const int max = 100;
 
    try{
Modified: branches/hash/libs/interprocess/test/mapped_file_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/mapped_file_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/mapped_file_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -17,12 +17,12 @@
 #include <cstdio>
 #include <cstring>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
 static const std::size_t FileSize = 1000;
-static const char *      FileName = test::get_compiler_name();
+static const char *      FileName = test::get_process_id_name();
 
 struct file_destroyer
 {
Modified: branches/hash/libs/interprocess/test/memory_algorithm_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/memory_algorithm_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/memory_algorithm_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -17,13 +17,13 @@
 #include "memory_algorithm_test_template.hpp"
 #include <iostream>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 int main ()
 {
    using namespace boost::interprocess;
    const int memsize = 16384;
-   const char *const shMemName = test::get_compiler_name();
+   const char *const shMemName = test::get_process_id_name();
 
    {
       //A shared memory with simple sequential fit algorithm
Modified: branches/hash/libs/interprocess/test/message_queue_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/message_queue_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/message_queue_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -21,7 +21,7 @@
 #include <boost/thread.hpp>
 #include <memory>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 #ifdef max
 #undef max
@@ -40,12 +40,12 @@
 //messages with same priority are received in fifo order
 bool test_priority_order()
 {
-   message_queue::remove(test::get_compiler_name());
+   message_queue::remove(test::get_process_id_name());
    {
       message_queue mq1
-         (open_or_create, test::get_compiler_name(), 100, sizeof(std::size_t)),
+         (open_or_create, test::get_process_id_name(), 100, sizeof(std::size_t)),
          mq2
-         (open_or_create, test::get_compiler_name(), 100, sizeof(std::size_t));
+         (open_or_create, test::get_process_id_name(), 100, sizeof(std::size_t));
 
       //We test that the queue is ordered by priority and in the 
       //same priority, is a FIFO
@@ -77,7 +77,7 @@
          tstamp_prev    = tstamp;
       }
    }
-   message_queue::remove(test::get_compiler_name());
+   message_queue::remove(test::get_process_id_name());
    return true;
 }
 
@@ -105,13 +105,13 @@
    //Allocate a memory buffer to hold the destiny database using vector<char>
    std::vector<char> buffer_destiny(BufferSize, 0);
 
-   message_queue::remove(test::get_compiler_name());
+   message_queue::remove(test::get_process_id_name());
    {
       //Create the message-queues
-      message_queue mq1(create_only, test::get_compiler_name(), 1, MaxMsgSize);
+      message_queue mq1(create_only, test::get_process_id_name(), 1, MaxMsgSize);
 
       //Open previously created message-queue simulating other process
-      message_queue mq2(open_only, test::get_compiler_name());
+      message_queue mq2(open_only, test::get_process_id_name());
 
       //A managed heap memory to create the origin database
       managed_heap_memory db_origin(buffer_destiny.size());
@@ -196,7 +196,7 @@
       db_origin.destroy_ptr(map1);
       db_destiny.destroy_ptr(map2);
    }
-   message_queue::remove(test::get_compiler_name());
+   message_queue::remove(test::get_process_id_name());
    return true;
 }
 //]
@@ -221,11 +221,11 @@
 
 bool test_buffer_overflow()
 {
-   boost::interprocess::message_queue::remove(test::get_compiler_name());
+   boost::interprocess::message_queue::remove(test::get_process_id_name());
    {
       std::auto_ptr<boost::interprocess::message_queue>
          ptr(new boost::interprocess::message_queue
-               (create_only, test::get_compiler_name(), 10, 10));
+               (create_only, test::get_process_id_name(), 10, 10));
       pmessage_queue = ptr.get();
 
       //Launch the receiver thread
@@ -240,7 +240,7 @@
 
       thread.join();
    }
-   boost::interprocess::message_queue::remove(test::get_compiler_name());
+   boost::interprocess::message_queue::remove(test::get_process_id_name());
    return true;
 }
 
Modified: branches/hash/libs/interprocess/test/named_allocation_test_template.hpp
==============================================================================
--- branches/hash/libs/interprocess/test/named_allocation_test_template.hpp	(original)
+++ branches/hash/libs/interprocess/test/named_allocation_test_template.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -24,7 +24,7 @@
 #include <iterator>
 #include <set>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 namespace boost { namespace interprocess { namespace test {
 
@@ -427,7 +427,7 @@
 {
    using namespace boost::interprocess;
    const int memsize = 163840;
-   const char *const shMemName = test::get_compiler_name();
+   const char *const shMemName = test::get_process_id_name();
    try
    {
       //A shared memory with rbtree best fit algorithm
Modified: branches/hash/libs/interprocess/test/named_condition_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/named_condition_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/named_condition_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -17,7 +17,7 @@
 #include "condition_test_template.hpp"
 #include "named_creation_template.hpp"
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
@@ -28,7 +28,7 @@
    ~condition_deleter()
    {  
       if(name.empty())
-         named_condition::remove(test::add_to_compiler_name("named_condition"));
+         named_condition::remove(test::add_to_process_id_name("named_condition"));
       else
          named_condition::remove(name.c_str()); 
    }
@@ -43,9 +43,9 @@
 
    named_condition_test_wrapper()
       :  named_condition(open_or_create, 
-             (test::add_to_compiler_name("test_cond") + boost::lexical_cast<std::string>(count)).c_str())
+             (test::add_to_process_id_name("test_cond") + boost::lexical_cast<std::string>(count)).c_str())
    {
-      condition_deleter::name += test::add_to_compiler_name("test_cond");
+      condition_deleter::name += test::add_to_process_id_name("test_cond");
       condition_deleter::name += boost::lexical_cast<std::string>(count);
       ++count;
    }
@@ -65,15 +65,15 @@
 {
    public:
    named_condition_creation_test_wrapper(create_only_t)
-      :  named_condition(create_only, test::add_to_compiler_name("named_condition"))
+      :  named_condition(create_only, test::add_to_process_id_name("named_condition"))
    {}
 
    named_condition_creation_test_wrapper(open_only_t)
-      :  named_condition(open_only, test::add_to_compiler_name("named_condition"))
+      :  named_condition(open_only, test::add_to_process_id_name("named_condition"))
    {}
 
    named_condition_creation_test_wrapper(open_or_create_t)
-      :  named_condition(open_or_create, test::add_to_compiler_name("named_condition"))
+      :  named_condition(open_or_create, test::add_to_process_id_name("named_condition"))
    {}
 };
 
@@ -84,7 +84,7 @@
    ~mutex_deleter()
    {  
       if(name.empty())
-         named_mutex::remove(test::add_to_compiler_name("named_mutex"));
+         named_mutex::remove(test::add_to_process_id_name("named_mutex"));
       else
          named_mutex::remove(name.c_str()); 
    }
@@ -98,9 +98,9 @@
    public:
    named_mutex_test_wrapper()
       :  named_mutex(open_or_create, 
-             (test::add_to_compiler_name("test_mutex") + boost::lexical_cast<std::string>(count)).c_str())
+             (test::add_to_process_id_name("test_mutex") + boost::lexical_cast<std::string>(count)).c_str())
    {
-      mutex_deleter::name += test::add_to_compiler_name("test_mutex");
+      mutex_deleter::name += test::add_to_process_id_name("test_mutex");
       mutex_deleter::name += boost::lexical_cast<std::string>(count);
       ++count;
    }
@@ -117,11 +117,11 @@
 {
    try{
       //Remove previous mutexes and conditions
-      named_mutex::remove(test::add_to_compiler_name("test_mutex0"));
-      named_condition::remove(test::add_to_compiler_name("test_cond0"));
-      named_condition::remove(test::add_to_compiler_name("test_cond1"));
-      named_condition::remove(test::add_to_compiler_name("named_condition"));
-      named_mutex::remove(test::add_to_compiler_name("named_mutex"));
+      named_mutex::remove(test::add_to_process_id_name("test_mutex0"));
+      named_condition::remove(test::add_to_process_id_name("test_cond0"));
+      named_condition::remove(test::add_to_process_id_name("test_cond1"));
+      named_condition::remove(test::add_to_process_id_name("named_condition"));
+      named_mutex::remove(test::add_to_process_id_name("named_mutex"));
 
       test::test_named_creation<named_condition_creation_test_wrapper>();
       test::do_test_condition<named_condition_test_wrapper
@@ -131,11 +131,11 @@
       std::cout << ex.what() << std::endl;
       return 1;
    }
-   named_mutex::remove(test::add_to_compiler_name("test_mutex0"));
-   named_condition::remove(test::add_to_compiler_name("test_cond0"));
-   named_condition::remove(test::add_to_compiler_name("test_cond1"));
-   named_condition::remove(test::add_to_compiler_name("named_condition"));
-   named_mutex::remove(test::add_to_compiler_name("named_mutex"));
+   named_mutex::remove(test::add_to_process_id_name("test_mutex0"));
+   named_condition::remove(test::add_to_process_id_name("test_cond0"));
+   named_condition::remove(test::add_to_process_id_name("test_cond1"));
+   named_condition::remove(test::add_to_process_id_name("named_condition"));
+   named_mutex::remove(test::add_to_process_id_name("named_mutex"));
    return 0;
 }
 
Modified: branches/hash/libs/interprocess/test/named_mutex_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/named_mutex_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/named_mutex_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -14,14 +14,14 @@
 #include "mutex_test_template.hpp"
 #include "named_creation_template.hpp"
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
 struct mutex_deleter
 {
    ~mutex_deleter()
-   {  named_mutex::remove(test::get_compiler_name()); }
+   {  named_mutex::remove(test::get_process_id_name()); }
 };
 
 //This wrapper is necessary to have a default constructor
@@ -31,7 +31,7 @@
 {
    public:
    named_mutex_lock_test_wrapper()
-      :  named_mutex(open_or_create, test::get_compiler_name())
+      :  named_mutex(open_or_create, test::get_process_id_name())
    {}
 };
 
@@ -42,32 +42,32 @@
 {
    public:
    named_mutex_creation_test_wrapper(create_only_t)
-      :  named_mutex(create_only, test::get_compiler_name())
+      :  named_mutex(create_only, test::get_process_id_name())
    {}
 
    named_mutex_creation_test_wrapper(open_only_t)
-      :  named_mutex(open_only, test::get_compiler_name())
+      :  named_mutex(open_only, test::get_process_id_name())
    {}
 
    named_mutex_creation_test_wrapper(open_or_create_t)
-      :  named_mutex(open_or_create, test::get_compiler_name())
+      :  named_mutex(open_or_create, test::get_process_id_name())
    {}
 };
 
 int main ()
 {
    try{
-      named_mutex::remove(test::get_compiler_name());
+      named_mutex::remove(test::get_process_id_name());
       test::test_named_creation<named_mutex_creation_test_wrapper>();
       test::test_all_lock<named_mutex_lock_test_wrapper>();
       test::test_all_mutex<false, named_mutex_lock_test_wrapper>();
    }
    catch(std::exception &ex){
-      named_mutex::remove(test::get_compiler_name());
+      named_mutex::remove(test::get_process_id_name());
       std::cout << ex.what() << std::endl;
       return 1;
    }
-   named_mutex::remove(test::get_compiler_name());
+   named_mutex::remove(test::get_process_id_name());
    return 0;
 }
 
Modified: branches/hash/libs/interprocess/test/named_recursive_mutex_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/named_recursive_mutex_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/named_recursive_mutex_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -15,14 +15,14 @@
 #include "mutex_test_template.hpp"
 #include "named_creation_template.hpp"
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
 struct mutex_deleter
 {
    ~mutex_deleter()
-   {  named_recursive_mutex::remove(test::get_compiler_name()); }
+   {  named_recursive_mutex::remove(test::get_process_id_name()); }
 };
 
 //This wrapper is necessary to have a default constructor
@@ -32,7 +32,7 @@
 {
    public:
    named_recursive_mutex_lock_test_wrapper()
-      :  named_recursive_mutex(open_or_create, test::get_compiler_name())
+      :  named_recursive_mutex(open_or_create, test::get_process_id_name())
    {}
 };
 
@@ -43,33 +43,33 @@
 {
    public:
    named_mutex_creation_test_wrapper(create_only_t)
-      :  named_recursive_mutex(create_only, test::get_compiler_name())
+      :  named_recursive_mutex(create_only, test::get_process_id_name())
    {}
 
    named_mutex_creation_test_wrapper(open_only_t)
-      :  named_recursive_mutex(open_only, test::get_compiler_name())
+      :  named_recursive_mutex(open_only, test::get_process_id_name())
    {}
 
    named_mutex_creation_test_wrapper(open_or_create_t)
-      :  named_recursive_mutex(open_or_create, test::get_compiler_name())
+      :  named_recursive_mutex(open_or_create, test::get_process_id_name())
    {}
 };
 
 int main ()
 {
    try{
-      named_recursive_mutex::remove(test::get_compiler_name());
+      named_recursive_mutex::remove(test::get_process_id_name());
       test::test_named_creation<named_mutex_creation_test_wrapper>();
       test::test_all_lock<named_recursive_mutex_lock_test_wrapper>();
       test::test_all_mutex<false, named_recursive_mutex_lock_test_wrapper>();
       test::test_all_recursive_lock<named_recursive_mutex_lock_test_wrapper>();
    }
    catch(std::exception &ex){
-      named_recursive_mutex::remove(test::get_compiler_name());
+      named_recursive_mutex::remove(test::get_process_id_name());
       std::cout << ex.what() << std::endl;
       return 1;
    }
-   named_recursive_mutex::remove(test::get_compiler_name());
+   named_recursive_mutex::remove(test::get_process_id_name());
    return 0;
 }
 
Modified: branches/hash/libs/interprocess/test/named_semaphore_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/named_semaphore_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/named_semaphore_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -15,13 +15,13 @@
 #include "named_creation_template.hpp"
 #include "mutex_test_template.hpp"
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
 static const std::size_t SemCount      = 1;
 static const std::size_t RecSemCount   = 100;
-static const char *      SemName = test::get_compiler_name();
+static const char *      SemName = test::get_process_id_name();
 
 struct semaphore_deleter
 {
Modified: branches/hash/libs/interprocess/test/named_upgradable_mutex_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/named_upgradable_mutex_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/named_upgradable_mutex_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -14,14 +14,14 @@
 #include "named_creation_template.hpp"
 #include <boost/interprocess/sync/named_upgradable_mutex.hpp>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
 struct mutex_deleter
 {
    ~mutex_deleter()
-   {  named_upgradable_mutex::remove(test::get_compiler_name()); }
+   {  named_upgradable_mutex::remove(test::get_process_id_name()); }
 };
 
 //This wrapper is necessary to have a default constructor
@@ -31,7 +31,7 @@
 {
    public:
    named_upgradable_mutex_lock_test_wrapper()
-      :  named_upgradable_mutex(open_or_create, test::get_compiler_name())
+      :  named_upgradable_mutex(open_or_create, test::get_process_id_name())
    {}
 };
 
@@ -43,35 +43,35 @@
    public:
    named_upgradable_mutex_creation_test_wrapper
       (create_only_t)
-      :  named_upgradable_mutex(create_only, test::get_compiler_name())
+      :  named_upgradable_mutex(create_only, test::get_process_id_name())
    {}
 
    named_upgradable_mutex_creation_test_wrapper
       (open_only_t)
-      :  named_upgradable_mutex(open_only, test::get_compiler_name())
+      :  named_upgradable_mutex(open_only, test::get_process_id_name())
    {}
 
    named_upgradable_mutex_creation_test_wrapper
       (open_or_create_t)
-      :  named_upgradable_mutex(open_or_create, test::get_compiler_name())
+      :  named_upgradable_mutex(open_or_create, test::get_process_id_name())
    {}
 };
 
 int main ()
 {
    try{
-      named_upgradable_mutex::remove(test::get_compiler_name());
+      named_upgradable_mutex::remove(test::get_process_id_name());
       test::test_named_creation<named_upgradable_mutex_creation_test_wrapper>();
 //      test::test_all_lock<named_upgradable_mutex_lock_test_wrapper>();
 //      test::test_all_mutex<true, named_upgradable_mutex_lock_test_wrapper>();
 //      test::test_all_sharable_mutex<true, named_upgradable_mutex_lock_test_wrapper>();
    }
    catch(std::exception &ex){
-      named_upgradable_mutex::remove(test::get_compiler_name());
+      named_upgradable_mutex::remove(test::get_process_id_name());
       std::cout << ex.what() << std::endl;
       return 1;
    }
-   named_upgradable_mutex::remove(test::get_compiler_name());
+   named_upgradable_mutex::remove(test::get_process_id_name());
    return 0;
 }
 
Modified: branches/hash/libs/interprocess/test/node_pool_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/node_pool_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/node_pool_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -7,16 +7,16 @@
 // See http://www.boost.org/libs/interprocess for documentation.
 //
 //////////////////////////////////////////////////////////////////////////////
-
+/*
 #include <boost/interprocess/detail/config_begin.hpp>
 #include <boost/interprocess/managed_shared_memory.hpp>
 #include <boost/interprocess/allocators/detail/node_pool.hpp>
 #include <boost/interprocess/smart_ptr/unique_ptr.hpp>
-#include <boost/interprocess/smart_ptr/segment_deleter.hpp>
+#include <boost/interprocess/smart_ptr/deleter.hpp>
 #include <vector>
 #include <cstddef>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
@@ -134,11 +134,11 @@
       <segment_manager, NodeSize, NodesPerChunk> node_pool_t;
 
    typedef test_node_pool<node_pool_t> test_node_pool_t;
-   shared_memory_object::remove(test::get_compiler_name());
+   shared_memory_object::remove(test::get_process_id_name());
    {
-      managed_shared_memory shm(create_only, test::get_compiler_name(), 4096);
+      managed_shared_memory shm(create_only, test::get_process_id_name(), 4096);
 
-      typedef segment_deleter<segment_manager, void*> deleter_t;
+      typedef deleter<node_pool_t, segment_manager> deleter_t;
       typedef unique_ptr<node_pool_t, deleter_t> unique_ptr_t;
 
       //Delete the pool when the tests end
@@ -152,7 +152,7 @@
       if(!test_node_pool_t::deallocate_free_chunks(*p))
          return false;
    }
-   shared_memory_object::remove(test::get_compiler_name());
+   shared_memory_object::remove(test::get_process_id_name());
    return true;
 }
 
@@ -165,3 +165,13 @@
 }
 
 #include <boost/interprocess/detail/config_end.hpp>
+*/
+
+#include<stdlib.h>
+
+int main()
+{
+   void *addr = malloc(100);
+   free(addr);
+   return 0;
+}
\ No newline at end of file
Modified: branches/hash/libs/interprocess/test/null_index_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/null_index_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/null_index_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -15,7 +15,7 @@
 #include <cstddef>
 #include <assert.h>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 typedef basic_managed_shared_memory
@@ -25,11 +25,11 @@
 int main ()
 {
    //Create shared memory
-   shared_memory_object::remove(test::get_compiler_name());
+   shared_memory_object::remove(test::get_process_id_name());
    {
       my_shared_objects_t segment
          (create_only,
-         test::get_compiler_name(), //segment name
+         test::get_process_id_name(), //segment name
          65536);                    //segment size in bytes
 
       //Allocate a portion of the segment
@@ -44,7 +44,7 @@
 
       segment.deallocate(shptr);
    }
-   shared_memory_object::remove(test::get_compiler_name());
+   shared_memory_object::remove(test::get_process_id_name());
    return 0;
 }
 
Modified: branches/hash/libs/interprocess/test/set_test.hpp
==============================================================================
--- branches/hash/libs/interprocess/test/set_test.hpp	(original)
+++ branches/hash/libs/interprocess/test/set_test.hpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -19,7 +19,7 @@
 #include "print_container.hpp"
 #include <boost/interprocess/detail/move_iterator.hpp>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 namespace boost{
 namespace interprocess{
@@ -34,7 +34,7 @@
 {
    typedef typename MyShmSet::value_type IntType;
    const int memsize = 65536;
-   const char *const shMemName = test::get_compiler_name();
+   const char *const shMemName = test::get_process_id_name();
    const int max = 100;
 
    try{
@@ -90,8 +90,14 @@
                , std::less<IntType>(), segment.get_segment_manager());
 
          MyStdMultiSet *stdmultiset2 = new MyStdMultiSet(aux_vect2, aux_vect2 + 50);
-         if(!CheckEqualContainers(shmset2, stdset2)) return 1;
-         if(!CheckEqualContainers(shmmultiset2, stdmultiset2)) return 1;
+         if(!CheckEqualContainers(shmset2, stdset2)){
+            std::cout << "Error in construct<MyShmSet>(MyShmSet2)" << std::endl;
+            return 1;
+         }
+         if(!CheckEqualContainers(shmmultiset2, stdmultiset2)){
+            std::cout << "Error in construct<MyShmMultiSet>(MyShmMultiSet2)" << std::endl;
+            return 1;
+         }
          segment.destroy_ptr(shmset2);
          segment.destroy_ptr(shmmultiset2);
          delete stdset2;
@@ -104,13 +110,19 @@
          shmset->insert(move(move_me));
          stdset->insert(i);
          IntType move_me2(i);
-         if(i == 9)
-            i = i;
          shmmultiset->insert(move(move_me2));
          stdmultiset->insert(i);
       }
 
-      if(!CheckEqualContainers(shmmultiset, stdmultiset)) return 1;
+      if(!CheckEqualContainers(shmset, stdset)){
+         std::cout << "Error in shmset->insert(move(move_me)" << std::endl;
+         return 1;
+      }
+
+      if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+         std::cout << "Error in shmmultiset->insert(move(move_me)" << std::endl;
+         return 1;
+      }
 
       typename MyShmSet::iterator it;
       typename MyShmSet::const_iterator cit = it;
@@ -119,15 +131,27 @@
       stdset->erase(stdset->begin()++);
       shmmultiset->erase(shmmultiset->begin()++);
       stdmultiset->erase(stdmultiset->begin()++);
-      if(!CheckEqualContainers(shmset, stdset)) return 1;
-      if(!CheckEqualContainers(shmmultiset, stdmultiset)) return 1;
+      if(!CheckEqualContainers(shmset, stdset)){
+         std::cout << "Error in shmset->erase(shmset->begin()++)" << std::endl;
+         return 1;
+      }
+      if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+         std::cout << "Error in shmmultiset->erase(shmmultiset->begin()++)" << std::endl;
+         return 1;
+      }
 
       shmset->erase(shmset->begin());
       stdset->erase(stdset->begin());
       shmmultiset->erase(shmmultiset->begin());
       stdmultiset->erase(stdmultiset->begin());
-      if(!CheckEqualContainers(shmset, stdset)) return 1;
-      if(!CheckEqualContainers(shmmultiset, stdmultiset)) return 1;
+      if(!CheckEqualContainers(shmset, stdset)){
+         std::cout << "Error in shmset->erase(shmset->begin())" << std::endl;
+         return 1;
+      }
+      if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+         std::cout << "Error in shmmultiset->erase(shmmultiset->begin())" << std::endl;
+         return 1;
+      }
 
       //Swapping test
       std::less<IntType> lessfunc;
@@ -143,8 +167,14 @@
       stdset->swap(tmpstdset2);
       shmmultiset->swap(tmpshmemultiset2);
       stdmultiset->swap(tmpstdmultiset2);
-      if(!CheckEqualContainers(shmset, stdset)) return 1;
-      if(!CheckEqualContainers(shmmultiset, stdmultiset)) return 1;
+      if(!CheckEqualContainers(shmset, stdset)){
+         std::cout << "Error in shmset->swap(tmpshmeset2)" << std::endl;
+         return 1;
+      }
+      if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+         std::cout << "Error in shmmultiset->swap(tmpshmemultiset2)" << std::endl;
+         return 1;
+      }
 
       //Insertion from other container
       //Initialize values
@@ -168,8 +198,14 @@
          stdset->insert(aux_vect2, aux_vect2 + 50);
          shmmultiset->insert(detail::make_move_iterator(&aux_vect3[0]), detail::make_move_iterator(aux_vect3 + 50));
          stdmultiset->insert(aux_vect2, aux_vect2 + 50);
-         if(!CheckEqualContainers(shmset, stdset)) return 1;
-         if(!CheckEqualContainers(shmmultiset, stdmultiset)) return 1;
+         if(!CheckEqualContainers(shmset, stdset)){
+            std::cout << "Error in shmset->insert(detail::make_move_iterator(&aux_vect[0])..." << std::endl;
+            return 1;
+         }
+         if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+            std::cout << "Error in shmmultiset->insert(detail::make_move_iterator(&aux_vect3[0]), ..." << std::endl;
+            return 1;
+         }
 
          for(int i = 0, j = static_cast<int>(shmset->size()); i < j; ++i){
             IntType erase_me(i);
@@ -177,9 +213,15 @@
             stdset->erase(i);
             shmmultiset->erase(erase_me);
             stdmultiset->erase(i);
+            if(!CheckEqualContainers(shmset, stdset)){
+               std::cout << "Error in shmset->erase(erase_me)" << shmset->size() << " " << stdset->size() << std::endl;
+               return 1;
+            }
+            if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+               std::cout << "Error in shmmultiset->erase(erase_me)" << std::endl;
+               return 1;
+            }
          }
-         if(!CheckEqualContainers(shmset, stdset)) return 1;
-         if(!CheckEqualContainers(shmmultiset, stdmultiset)) return 1;
       }
       {
          IntType aux_vect[50];
@@ -217,15 +259,27 @@
          shmmultiset->insert(detail::make_move_iterator(&aux_vect5[0]), detail::make_move_iterator(aux_vect5 + 50));
          stdmultiset->insert(aux_vect2, aux_vect2 + 50);
          stdmultiset->insert(aux_vect2, aux_vect2 + 50);
-         if(!CheckEqualContainers(shmset, stdset)) return 1;
-         if(!CheckEqualContainers(shmmultiset, stdmultiset)) return 1;
+         if(!CheckEqualContainers(shmset, stdset)){
+            std::cout << "Error in shmset->insert(detail::make_move_iterator(&aux_vect3[0])..." << std::endl;
+            return 1;
+         }
+         if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+            std::cout << "Error in shmmultiset->insert(detail::make_move_iterator(&aux_vect5[0])..." << std::endl;
+            return 1;
+         }
 
          shmset->erase(*shmset->begin());
          stdset->erase(*stdset->begin());
          shmmultiset->erase(*shmmultiset->begin());
          stdmultiset->erase(*stdmultiset->begin());
-         if(!CheckEqualContainers(shmset, stdset)) return 1;
-         if(!CheckEqualContainers(shmmultiset, stdmultiset)) return 1;
+         if(!CheckEqualContainers(shmset, stdset)){
+            std::cout << "Error in shmset->erase(*shmset->begin())" << std::endl;
+            return 1;
+         }
+         if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+            std::cout << "Error in shmmultiset->erase(*shmmultiset->begin())" << std::endl;
+            return 1;
+         }
       }
 
       for(i = 0; i < max; ++i){
@@ -237,8 +291,14 @@
          stdmultiset->insert(i);
       }
 
-      if(!CheckEqualContainers(shmset, stdset)) return 1;
-      if(!CheckEqualContainers(shmmultiset, stdmultiset)) return 1;
+      if(!CheckEqualContainers(shmset, stdset)){
+         std::cout << "Error in shmset->insert(move(move_me)) try 2" << std::endl;
+         return 1;
+      }
+      if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+         std::cout << "Error in shmmultiset->insert(move(move_me2)) try 2" << std::endl;
+         return 1;
+      }
 
       for(i = 0; i < max; ++i){
          IntType move_me(i);
@@ -249,10 +309,14 @@
          shmmultiset->insert(shmmultiset->begin(), move(move_me2));
          stdmultiset->insert(stdmultiset->begin(), i);
          //PrintContainers(shmmultiset, stdmultiset);
-         if(!CheckEqualContainers(shmset, stdset))
+         if(!CheckEqualContainers(shmset, stdset)){
+            std::cout << "Error in shmset->insert(shmset->begin(), move(move_me))" << std::endl;
             return 1;
-         if(!CheckEqualContainers(shmmultiset, stdmultiset))
+         }
+         if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+            std::cout << "Error in shmmultiset->insert(shmmultiset->begin(), move(move_me2))" << std::endl;
             return 1;
+         }
 
          IntType move_me3(i);
          shmset->insert(shmset->end(), move(move_me3));
@@ -260,10 +324,14 @@
          IntType move_me4(i);
          shmmultiset->insert(shmmultiset->end(), move(move_me4));
          stdmultiset->insert(stdmultiset->end(), i);
-         if(!CheckEqualContainers(shmset, stdset))
+         if(!CheckEqualContainers(shmset, stdset)){
+            std::cout << "Error in shmset->insert(shmset->end(), move(move_me3))" << std::endl;
             return 1;
-         if(!CheckEqualContainers(shmmultiset, stdmultiset))
+         }
+         if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+            std::cout << "Error in shmmultiset->insert(shmmultiset->end(), move(move_me4))" << std::endl;
             return 1;
+         }
          {
          IntType move_me(i);
          shmset->insert(shmset->upper_bound(move_me), move(move_me));
@@ -273,10 +341,14 @@
          shmmultiset->insert(shmmultiset->upper_bound(move_me2), move(move_me2));
          stdmultiset->insert(stdmultiset->upper_bound(i), i);
          //PrintContainers(shmmultiset, stdmultiset);
-         if(!CheckEqualContainers(shmset, stdset))
+         if(!CheckEqualContainers(shmset, stdset)){
+            std::cout << "Error in shmset->insert(shmset->upper_bound(move_me), move(move_me))" << std::endl;
             return 1;
-         if(!CheckEqualContainers(shmmultiset, stdmultiset))
+         }
+         if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+            std::cout << "Error in shmmultiset->insert(shmmultiset->upper_bound(move_me2), move(move_me2))" << std::endl;
             return 1;
+         }
 
          }
          {
@@ -288,11 +360,15 @@
          shmmultiset->insert(shmmultiset->lower_bound(move_me2), move(move_me2));
          stdmultiset->insert(stdmultiset->lower_bound(i), i);
          //PrintContainers(shmmultiset, stdmultiset);
-         if(!CheckEqualContainers(shmset, stdset))
+         if(!CheckEqualContainers(shmset, stdset)){
+            std::cout << "Error in shmset->insert(shmset->lower_bound(move_me), move(move_me2))" << std::endl;
             return 1;
-         if(!CheckEqualContainers(shmmultiset, stdmultiset))
+         }
+         if(!CheckEqualContainers(shmmultiset, stdmultiset)){
+            std::cout << "Error in shmmultiset->insert(shmmultiset->lower_bound(move_me2), move(move_me2))" << std::endl;
             return 1;
          }
+         }
       }
 
       //Compare count with std containers
@@ -317,10 +393,14 @@
          IntType move_me2(i);
          shmmultiset->insert(move(move_me2));
          IntType count_me(i);
-         if(shmset->count(count_me) != typename MyShmMultiSet::size_type(1))
+         if(shmset->count(count_me) != typename MyShmMultiSet::size_type(1)){
+            std::cout << "Error in shmset->count(count_me)" << std::endl;
             return 1;
-         if(shmmultiset->count(count_me) != typename MyShmMultiSet::size_type(j+1))
+         }
+         if(shmmultiset->count(count_me) != typename MyShmMultiSet::size_type(j+1)){
+            std::cout << "Error in shmmultiset->count(count_me)" << std::endl;
             return 1;
+         }
       }
 
       segment.template destroy<MyShmSet>("MyShmSet");
@@ -329,8 +409,10 @@
       delete stdmultiset;
       segment.shrink_to_fit_indexes();
 
-      if(!segment.all_memory_deallocated())
+      if(!segment.all_memory_deallocated()){
+         std::cout << "Error in segment.all_memory_deallocated()" << std::endl;
          return 1;
+      }
    }
    catch(...){
       shared_memory_object::remove(shMemName);
@@ -349,7 +431,7 @@
 {
    typedef typename MyShmSet::value_type IntType;
    const int memsize = 65536;
-   const char *const shMemName = test::get_compiler_name();
+   const char *const shMemName = test::get_process_id_name();
    const int max = 100;
 
    try{
@@ -389,22 +471,26 @@
          //Now, test copy constructor
          MyShmSet shmsetcopy(*shmset);
          MyStdSet stdsetcopy(*stdset);
-         MyShmMultiSet shmmsetcopy(*shmmultiset);
-         MyStdMultiSet stdmsetcopy(*stdmultiset);
 
          if(!CheckEqualContainers(&shmsetcopy, &stdsetcopy))
             return 1;
+
+         MyShmMultiSet shmmsetcopy(*shmmultiset);
+         MyStdMultiSet stdmsetcopy(*stdmultiset);
+
          if(!CheckEqualContainers(&shmmsetcopy, &stdmsetcopy))
             return 1;
 
          //And now assignment
          shmsetcopy  = *shmset;
          stdsetcopy  = *stdset;
+
+         if(!CheckEqualContainers(&shmsetcopy, &stdsetcopy))
+            return 1;
+
          shmmsetcopy = *shmmultiset;
          stdmsetcopy = *stdmultiset;
          
-         if(!CheckEqualContainers(&shmsetcopy, &stdsetcopy))
-            return 1;
          if(!CheckEqualContainers(&shmmsetcopy, &stdmsetcopy))
             return 1;
       }
Modified: branches/hash/libs/interprocess/test/shared_memory_mapping_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/shared_memory_mapping_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/shared_memory_mapping_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -14,7 +14,7 @@
 #include <boost/interprocess/shared_memory_object.hpp>
 #include <boost/interprocess/mapped_region.hpp>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
@@ -24,16 +24,16 @@
       const std::size_t FileSize = 99999*2;
       {
          //Remove shared memory
-         shared_memory_object::remove(test::get_compiler_name());
+         shared_memory_object::remove(test::get_process_id_name());
 
          //Create shared memory and file mapping
-         shared_memory_object mapping(create_only, test::get_compiler_name(), read_write);
+         shared_memory_object mapping(create_only, test::get_process_id_name(), read_write);
          mapping.truncate(FileSize);
       }
 
       {
          //Create a file mapping
-         shared_memory_object mapping(open_only, test::get_compiler_name(), read_write);
+         shared_memory_object mapping(open_only, test::get_process_id_name(), read_write);
 
          //Create two mapped regions, one half of the file each
          mapped_region region (mapping
@@ -67,7 +67,7 @@
       //See if the pattern is correct in the file using two mapped regions
       {
          //Create a file mapping
-         shared_memory_object mapping(open_only, test::get_compiler_name(), read_write);
+         shared_memory_object mapping(open_only, test::get_process_id_name(), read_write);
          mapped_region region(mapping, read_write, 0, FileSize/2, 0);
          mapped_region region2(mapping, read_write, FileSize/2, 0/*FileSize - FileSize/2*/, 0);
 
@@ -97,7 +97,7 @@
       //Now check the pattern mapping a single read only mapped_region
       {
          //Create a file mapping
-         shared_memory_object mapping(open_only, test::get_compiler_name(), read_only);
+         shared_memory_object mapping(open_only, test::get_process_id_name(), read_only);
 
          //Create a single regions, mapping all the file
          mapped_region region (mapping
@@ -115,10 +115,10 @@
       }
    }
    catch(std::exception &exc){
-      shared_memory_object::remove(test::get_compiler_name());
+      shared_memory_object::remove(test::get_process_id_name());
       std::cout << "Unhandled exception: " << exc.what() << std::endl;
    }
-   shared_memory_object::remove(test::get_compiler_name());
+   shared_memory_object::remove(test::get_process_id_name());
    return 0;
 }
 
Modified: branches/hash/libs/interprocess/test/shared_memory_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/shared_memory_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/shared_memory_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -16,12 +16,12 @@
 #include <cstring>   //for strcmp, memset
 #include <iostream>  //for cout
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
 static const std::size_t ShmSize = 1000;
-static const char *      ShmName = test::get_compiler_name();
+static const char *      ShmName = test::get_process_id_name();
 
 struct eraser
 {
Modified: branches/hash/libs/interprocess/test/shared_ptr_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/shared_ptr_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/shared_ptr_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -1,16 +1,14 @@
 //////////////////////////////////////////////////////////////////////////////
 //
 // (C) Copyright Peter Dimov 2002-2005.
-// (C) Copyright Ion Gaztanaga 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)
+// (C) Copyright Ion Gaztanaga 2006-2007.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 //
 // See http://www.boost.org/libs/interprocess for documentation.
 //
 //////////////////////////////////////////////////////////////////////////////
-#ifdef _MSC_VER
-#pragma warning (disable : 4503)
-#endif
 
 #include <boost/interprocess/detail/config_begin.hpp>
 #include <boost/interprocess/offset_ptr.hpp>
@@ -22,10 +20,11 @@
 #include <boost/interprocess/containers/string.hpp>
 #include <boost/interprocess/containers/vector.hpp>
 #include <boost/interprocess/detail/utilities.hpp>
+#include <boost/interprocess/smart_ptr/deleter.hpp>
 #include <boost/interprocess/smart_ptr/scoped_ptr.hpp>
 #include <boost/detail/lightweight_test.hpp>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
@@ -53,12 +52,12 @@
    typedef shared_ptr<base_class, base_class_allocator, base_deleter_t>    base_shared_ptr;
    typedef weak_ptr<base_class, base_class_allocator, base_deleter_t>      base_weak_ptr;
 
-   std::string compiler_name;
-   test::get_compiler_name(compiler_name);
+   std::string process_name;
+   test::get_process_id_name(process_name);
 
-   shared_memory_object::remove(compiler_name.c_str());
+   shared_memory_object::remove(process_name.c_str());
    {
-      managed_shared_memory shmem(create_only, compiler_name.c_str(), 10000);
+      managed_shared_memory shmem(create_only, process_name.c_str(), 10000);
 
       {
          base_shared_ptr s_ptr(base_shared_ptr::pointer(0), 
@@ -90,7 +89,7 @@
          //}
       }
    }
-   shared_memory_object::remove(compiler_name.c_str());
+   shared_memory_object::remove(process_name.c_str());
    return 0;
 }
 
@@ -134,13 +133,13 @@
    typedef vector<string_weak_ptr_t, string_weak_ptr_allocator_t>
       string_weak_ptr_vector_t;
 
-   std::string compiler_name;
-   test::get_compiler_name(compiler_name);
+   std::string process_name;
+   test::get_process_id_name(process_name);
 
    //A shared memory managed memory classes
-   shared_memory_object::remove(compiler_name.c_str());
+   shared_memory_object::remove(process_name.c_str());
    {
-      managed_shared_memory shmem(create_only, compiler_name.c_str(), 20000);
+      managed_shared_memory shmem(create_only, process_name.c_str(), 20000);
 
       {  
          const int NumElements = 100;
@@ -256,7 +255,7 @@
          string_weak_ptr.reset();
       }
    }
-   shared_memory_object::remove(compiler_name.c_str());
+   shared_memory_object::remove(process_name.c_str());
    return 0;
 }
 //
@@ -416,12 +415,12 @@
 
    typedef weak_ptr<Y, v_allocator_t, y_deleter_t> y_weak_ptr;
 
-   std::string compiler_name;
-   test::get_compiler_name(compiler_name);
+   std::string process_name;
+   test::get_process_id_name(process_name);
 
-   shared_memory_object::remove(compiler_name.c_str());
+   shared_memory_object::remove(process_name.c_str());
    {
-      managed_shared_memory shmem(create_only, compiler_name.c_str(), 10000);
+      managed_shared_memory shmem(create_only, process_name.c_str(), 10000);
       {
          v_allocator_t  v_allocator (shmem.get_segment_manager());
          x_deleter_t    x_deleter   (shmem.get_segment_manager());
@@ -534,7 +533,7 @@
 
       BOOST_TEST(cnt == 0);
    }
-   shared_memory_object::remove(compiler_name.c_str());
+   shared_memory_object::remove(process_name.c_str());
    return boost::report_errors();
 }
 
Modified: branches/hash/libs/interprocess/test/string_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/string_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/string_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -26,7 +26,7 @@
 #include "expand_bwd_test_allocator.hpp"
 #include "expand_bwd_test_template.hpp"
 #include "allocator_v1.hpp"
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
@@ -79,16 +79,16 @@
 
    const int MaxSize = 100;
 
-   std::string compiler_name;
-   test::get_compiler_name(compiler_name);
+   std::string process_name;
+   test::get_process_id_name(process_name);
 
    //Create shared memory
-   shared_memory_object::remove(compiler_name.c_str());
+   shared_memory_object::remove(process_name.c_str());
    {
       managed_shared_memory segment
             (create_only,
-            compiler_name.c_str(),//segment name
-            65536);           //segment size in bytes
+            process_name.c_str(),//segment name
+            65536);              //segment size in bytes
       
       ShmemAllocatorChar shmallocator (segment.get_segment_manager());
 
@@ -264,7 +264,7 @@
       segment.destroy_ptr(shmStringVect);
       delete stdStringVect;
    }
-   shared_memory_object::remove(compiler_name.c_str());
+   shared_memory_object::remove(process_name.c_str());
    return 0;
 }
 
Modified: branches/hash/libs/interprocess/test/tree_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/tree_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/tree_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -61,7 +61,7 @@
 //Customize managed_shared_memory class
 typedef basic_managed_shared_memory
    <char,
-    simple_seq_fit<mutex_family>,
+    simple_seq_fit<mutex_family, void*>,
     map_index
    > my_managed_shared_memory;
 
Modified: branches/hash/libs/interprocess/test/unique_ptr_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/unique_ptr_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/unique_ptr_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -7,9 +7,6 @@
 // See http://www.boost.org/libs/interprocess for documentation.
 //
 //////////////////////////////////////////////////////////////////////////////
-#ifdef _MSC_VER
-#pragma warning (disable : 4503)
-#endif
 
 #include <boost/interprocess/detail/config_begin.hpp>
 #include <boost/interprocess/offset_ptr.hpp>
@@ -20,10 +17,10 @@
 #include <boost/interprocess/containers/set.hpp>
 #include <boost/interprocess/containers/vector.hpp>
 #include <boost/interprocess/containers/string.hpp>
-#include <boost/interprocess/containers/string.hpp>
+#include <boost/interprocess/smart_ptr/deleter.hpp>
 #include <stdio.h>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
@@ -34,24 +31,8 @@
    {}
 };
 
-//Deleter. Takes a pointer to the segment manager which
-//has a function to delete the object from the shared memory
-//segment. 
-struct MyDeleter
-{
-   typedef offset_ptr<MyClass> pointer;
-
-   MyDeleter(managed_shared_memory::segment_manager *mngr)
-      :  m_mngr(mngr)
-   {}
-
-   void operator()(pointer ptr)
-   {  m_mngr->destroy_ptr(ptr.get());  }
-
-   offset_ptr<managed_shared_memory::segment_manager> m_mngr;
-};
-
-typedef unique_ptr<MyClass, MyDeleter> my_unique_ptr_class;
+typedef deleter<MyClass, managed_shared_memory::segment_manager> my_deleter_type;
+typedef unique_ptr<MyClass, my_deleter_type> my_unique_ptr_class;
 typedef set <my_unique_ptr_class
             ,std::less<my_unique_ptr_class>
             ,allocator  <my_unique_ptr_class
@@ -70,26 +51,26 @@
 
 int main()
 {
-   std::string compiler_name;
-   test::get_compiler_name(compiler_name);
+   std::string process_name;
+   test::get_process_id_name(process_name);
 
    //Create managed shared memory
-   shared_memory_object::remove(compiler_name.c_str());
+   shared_memory_object::remove(process_name.c_str());
    {
-      managed_shared_memory segment(create_only, compiler_name.c_str(), 10000);
-      
+      managed_shared_memory segment(create_only, process_name.c_str(), 10000);
+      my_deleter_type my_deleter(segment.get_segment_manager());
       //Create unique_ptr using dynamic allocation
       my_unique_ptr_class my_ptr (segment.construct<MyClass>(anonymous_instance)()
-                                 ,segment.get_segment_manager());
+                                 ,my_deleter);
       my_unique_ptr_class my_ptr2(segment.construct<MyClass>(anonymous_instance)()
-                                 ,segment.get_segment_manager());
+                                 ,my_deleter);
 
       //Backup relative pointers to future tests
       offset_ptr<MyClass> ptr1 = my_ptr.get();
       offset_ptr<MyClass> ptr2 = my_ptr2.get();
 
       //Test some copy constructors
-      my_unique_ptr_class my_ptr3(0, segment.get_segment_manager());
+      my_unique_ptr_class my_ptr3(0, my_deleter);
       my_unique_ptr_class my_ptr4(move(my_ptr3));
 
       //Construct a list and fill
@@ -134,9 +115,6 @@
          assert(set.rbegin()->get() == ptr1);
          assert(set.begin()->get()  == ptr2);
       }
-      //MySet set2(move(set));
-      //set2.swap(move(MySet(set_less_t(), segment.get_segment_manager())));
-      //set.swap(move(MySet(set_less_t(), segment.get_segment_manager())));
 
       //Now with vector
       MyVector vector(segment.get_segment_manager());
@@ -162,8 +140,11 @@
 
       assert(vector.begin()->get() == ptr1);
       assert(vector.rbegin()->get() == ptr2);
+
+      my_unique_ptr_class a(0, my_deleter), b(0, my_deleter);
+      a = move(b);
    }
-   shared_memory_object::remove(compiler_name.c_str());
+   shared_memory_object::remove(process_name.c_str());
    return 0;
 }
 
Modified: branches/hash/libs/interprocess/test/vector_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/vector_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/vector_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -31,7 +31,7 @@
 #include "expand_bwd_test_template.hpp"
 #include "dummy_test_allocator.hpp"
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
@@ -101,11 +101,11 @@
    typedef vector<IntType, shmem_allocator_t>   MyShmVector;
    typedef std::vector<int>                     MyStdVector;
 
-   std::string compiler_name;
-   test::get_compiler_name(compiler_name);
+   std::string process_name;
+   test::get_process_id_name(process_name);
 
    const int Memsize = 65536;
-   const char *const shMemName = compiler_name.c_str();
+   const char *const shMemName = process_name.c_str();
    const int max = 100;
 
    {
@@ -240,21 +240,33 @@
 bool test_expand_bwd()
 {
    //Now test all back insertion possibilities
-   typedef test::expand_bwd_test_allocator<test::int_holder>
+
+   //First raw ints
+   typedef test::expand_bwd_test_allocator<int>
       int_allocator_type;
-   typedef vector<test::int_holder, int_allocator_type>
+   typedef vector<int, int_allocator_type>
       int_vector;
 
    if(!test::test_all_expand_bwd<int_vector>())
       return false;
 
+   //Now user defined wrapped int
+   typedef test::expand_bwd_test_allocator<test::int_holder>
+      int_holder_allocator_type;
+   typedef vector<test::int_holder, int_holder_allocator_type>
+      int_holder_vector;
+
+   if(!test::test_all_expand_bwd<int_holder_vector>())
+      return false;
+
+   //Now user defined bigger wrapped int
    typedef test::expand_bwd_test_allocator<test::triple_int_holder>
-      triple_allocator_type;
+      triple_int_holder_allocator_type;
 
-   typedef vector<test::triple_int_holder, triple_allocator_type>
-      triple_int_vector;
+   typedef vector<test::triple_int_holder, triple_int_holder_allocator_type>
+      triple_int_holder_vector;
 
-   if(!test::test_all_expand_bwd<triple_int_vector>())
+   if(!test::test_all_expand_bwd<triple_int_holder_vector>())
       return false;
 
    return true;
Modified: branches/hash/libs/interprocess/test/windows_shared_memory_mapping_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/windows_shared_memory_mapping_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/windows_shared_memory_mapping_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -17,23 +17,23 @@
 #include <boost/interprocess/windows_shared_memory.hpp>
 #include <boost/interprocess/mapped_region.hpp>
 #include <string>
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
 int main ()
 {
-   std::string compiler_name;
-   test::get_compiler_name(compiler_name);
+   std::string process_name;
+   test::get_process_id_name(process_name);
 
    try{
       const std::size_t FileSize = 99999*2;
       //Create shared memory and file mapping
-      windows_shared_memory mapping(create_only, compiler_name.c_str(), read_write, FileSize);
+      windows_shared_memory mapping(create_only, process_name.c_str(), read_write, FileSize);
 
       {
          //Create a file mapping
-         windows_shared_memory mapping(open_only, compiler_name.c_str(), read_write);
+         windows_shared_memory mapping(open_only, process_name.c_str(), read_write);
 
          //Create two mapped regions, one half of the file each
          mapped_region region (mapping
@@ -67,7 +67,7 @@
       //See if the pattern is correct in the file using two mapped regions
       {
          //Create a file mapping
-         windows_shared_memory mapping(open_only, compiler_name.c_str(), read_write);
+         windows_shared_memory mapping(open_only, process_name.c_str(), read_write);
          mapped_region region(mapping, read_write, 0, FileSize/2, 0);
          mapped_region region2(mapping, read_write, FileSize/2, 0/*FileSize - FileSize/2*/, 0);
 
@@ -97,7 +97,7 @@
       //Now check the pattern mapping a single read only mapped_region
       {
          //Create a file mapping
-         windows_shared_memory mapping(open_only, compiler_name.c_str(), read_only);
+         windows_shared_memory mapping(open_only, process_name.c_str(), read_only);
 
          //Create a single regions, mapping all the file
          mapped_region region (mapping
Modified: branches/hash/libs/interprocess/test/windows_shared_memory_test.cpp
==============================================================================
--- branches/hash/libs/interprocess/test/windows_shared_memory_test.cpp	(original)
+++ branches/hash/libs/interprocess/test/windows_shared_memory_test.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -20,15 +20,15 @@
 #include <cstring>   //for strcmp, memset
 #include <iostream>  //for cout
 #include <string>  //for string
-#include "get_compiler_name.hpp"
+#include "get_process_id_name.hpp"
 
 using namespace boost::interprocess;
 
 static const char *name_initialization_routine()
 {
-   static std::string compiler_name;
-   test::get_compiler_name(compiler_name);
-   return compiler_name.c_str();
+   static std::string process_name;
+   test::get_process_id_name(process_name);
+   return process_name.c_str();
 }
 
 static const std::size_t ShmSize = 1000;
Modified: branches/hash/libs/program_options/src/options_description.cpp
==============================================================================
--- branches/hash/libs/program_options/src/options_description.cpp	(original)
+++ branches/hash/libs/program_options/src/options_description.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -254,7 +254,7 @@
         return m_options;
     }
 
-    const option_description* 
+    const option_description*
     options_description::find_nothrow(const std::string& name, 
                                       bool approx) const
     {
@@ -279,10 +279,10 @@
             //
             // For now, we don't check the situation when there are 
             // two full matches. 
-                            
+
             if (r == option_description::full_match)
             {
-                return m_options[i].get();                
+                return m_options[i].get();
             }
 
             found = m_options[i];
@@ -293,8 +293,8 @@
         if (approximate_matches.size() > 1)
             boost::throw_exception(
                 ambiguous_option(name, approximate_matches));
-        else
-            return found.get();
+
+        return found.get();
     }
 
     BOOST_PROGRAM_OPTIONS_DECL
Modified: branches/hash/libs/regex/doc/html/boost_regex/background_information/examples.html
==============================================================================
--- branches/hash/libs/regex/doc/html/boost_regex/background_information/examples.html	(original)
+++ branches/hash/libs/regex/doc/html/boost_regex/background_information/examples.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -27,7 +27,7 @@
 <a name="boost_regex.background_information.examples"></a><a href="examples.html" title="Test and Example Programs"> Test and
       Example Programs</a></h3></div></div></div>
 <a name="boost_regex.background_information.examples.test_programs"></a><h5>
-<a name="id657630"></a>
+<a name="id657635"></a>
         <a href="examples.html#boost_regex.background_information.examples.test_programs">Test
         Programs</a>
       </h5>
@@ -97,7 +97,7 @@
         Files: captures_test.cpp.
       </p>
 <a name="boost_regex.background_information.examples.example_programs"></a><h5>
-<a name="id657847"></a>
+<a name="id657851"></a>
         <a href="examples.html#boost_regex.background_information.examples.example_programs">Example
         programs</a>
       </h5>
@@ -123,7 +123,7 @@
         Files: regex_timer.cpp.
       </p>
 <a name="boost_regex.background_information.examples.code_snippets"></a><h5>
-<a name="id657930"></a>
+<a name="id657934"></a>
         <a href="examples.html#boost_regex.background_information.examples.code_snippets">Code
         snippets</a>
       </h5>
Modified: branches/hash/libs/regex/doc/html/boost_regex/background_information/history.html
==============================================================================
--- branches/hash/libs/regex/doc/html/boost_regex/background_information/history.html	(original)
+++ branches/hash/libs/regex/doc/html/boost_regex/background_information/history.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -25,7 +25,7 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_regex.background_information.history"></a> History</h3></div></div></div>
 <a name="boost_regex.background_information.history.boost_1_34"></a><h5>
-<a name="id660133"></a>
+<a name="id660132"></a>
         <a href="history.html#boost_regex.background_information.history.boost_1_34">Boost
         1.34</a>
       </h5>
@@ -48,7 +48,7 @@
         </li>
 </ul></div>
 <a name="boost_regex.background_information.history.boost_1_33_1"></a><h5>
-<a name="id660186"></a>
+<a name="id660185"></a>
         <a href="history.html#boost_regex.background_information.history.boost_1_33_1">Boost
         1.33.1</a>
       </h5>
@@ -173,7 +173,7 @@
         </li>
 </ul></div>
 <a name="boost_regex.background_information.history.boost_1_32_1"></a><h5>
-<a name="id660425"></a>
+<a name="id660424"></a>
         <a href="history.html#boost_regex.background_information.history.boost_1_32_1">Boost
         1.32.1</a>
       </h5>
@@ -181,7 +181,7 @@
           Fixed bug in partial matches of bounded repeats of '.'.
         </li></ul></div>
 <a name="boost_regex.background_information.history.boost_1_31_0"></a><h5>
-<a name="id660460"></a>
+<a name="id660459"></a>
         <a href="history.html#boost_regex.background_information.history.boost_1_31_0">Boost
         1.31.0</a>
       </h5>
Modified: branches/hash/libs/regex/doc/html/boost_regex/background_information/standards.html
==============================================================================
--- branches/hash/libs/regex/doc/html/boost_regex/background_information/standards.html	(original)
+++ branches/hash/libs/regex/doc/html/boost_regex/background_information/standards.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -27,7 +27,7 @@
 <a name="boost_regex.background_information.standards"></a><a href="standards.html" title="Standards Conformance"> Standards
       Conformance</a></h3></div></div></div>
 <a name="boost_regex.background_information.standards.c__"></a><h5>
-<a name="id658935"></a>
+<a name="id658934"></a>
         <a href="standards.html#boost_regex.background_information.standards.c__">C++</a>
       </h5>
 <p>
@@ -35,7 +35,7 @@
         report on C++ Library Extensions</a>.
       </p>
 <a name="boost_regex.background_information.standards.ecmascript___javascript"></a><h5>
-<a name="id658975"></a>
+<a name="id658974"></a>
         <a href="standards.html#boost_regex.background_information.standards.ecmascript___javascript">ECMAScript
         / JavaScript</a>
       </h5>
@@ -81,7 +81,7 @@
         a custom traits class.
       </p>
 <a name="boost_regex.background_information.standards.unicode"></a><h5>
-<a name="id659102"></a>
+<a name="id659101"></a>
         <a href="standards.html#boost_regex.background_information.standards.unicode">Unicode</a>
       </h5>
 <p>
Modified: branches/hash/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html
==============================================================================
--- branches/hash/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html	(original)
+++ branches/hash/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -80,7 +80,7 @@
    <span class="identifier">boost</span><span class="special">::</span><span class="identifier">smatch</span> <span class="identifier">what</span><span class="special">;</span>
    <span class="keyword">if</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">u32regex_match</span><span class="special">(</span><span class="identifier">path</span><span class="special">,</span> <span class="identifier">what</span><span class="special">,</span> <span class="identifier">r</span><span class="special">))</span>
    <span class="special">{</span>
-      <span class="comment">// extract $1 as a CString:
+      <span class="comment">// extract $1 as a std::string:
 </span>      <span class="keyword">return</span> <span class="identifier">what</span><span class="special">.</span><span class="identifier">str</span><span class="special">(</span><span class="number">1</span><span class="special">);</span>
    <span class="special">}</span>
    <span class="keyword">else</span>
@@ -120,7 +120,7 @@
    <span class="identifier">boost</span><span class="special">::</span><span class="identifier">u16match</span> <span class="identifier">what</span><span class="special">;</span>
    <span class="keyword">if</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">u32regex_search</span><span class="special">(</span><span class="identifier">text</span><span class="special">,</span> <span class="identifier">what</span><span class="special">,</span> <span class="identifier">r</span><span class="special">))</span>
    <span class="special">{</span>
-      <span class="comment">// extract $0 as a CString:
+      <span class="comment">// extract $0 as a UnicodeString:
 </span>      <span class="keyword">return</span> <span class="identifier">UnicodeString</span><span class="special">(</span><span class="identifier">what</span><span class="special">[</span><span class="number">0</span><span class="special">].</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">what</span><span class="special">.</span><span class="identifier">length</span><span class="special">(</span><span class="number">0</span><span class="special">));</span>
    <span class="special">}</span>
    <span class="keyword">else</span>
@@ -130,7 +130,7 @@
 <span class="special">}</span>
 </pre>
 <a name="boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_replace"></a><h5>
-<a name="id616763"></a>
+<a name="id616762"></a>
             <a href="unicode_algo.html#boost_regex.ref.non_std_strings.icu.unicode_algo.u32regex_replace">u32regex_replace</a>
           </h5>
 <p>
Modified: branches/hash/libs/regex/doc/html/index.html
==============================================================================
--- branches/hash/libs/regex/doc/html/index.html	(original)
+++ branches/hash/libs/regex/doc/html/index.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -202,7 +202,7 @@
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: August 13, 2007 at 17:46:28 GMT</small></p></td>
+<td align="left"><p><small>Last revised: August 25, 2007 at 08:47:36 GMT</small></p></td>
 <td align="right"><small></small></td>
 </tr></table>
 <hr>
Modified: branches/hash/libs/regex/doc/icu_strings.qbk
==============================================================================
--- branches/hash/libs/regex/doc/icu_strings.qbk	(original)
+++ branches/hash/libs/regex/doc/icu_strings.qbk	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -138,7 +138,7 @@
       boost::smatch what;
       if(boost::u32regex_match(path, what, r))
       {
-         // extract $1 as a CString:
+         // extract $1 as a std::string:
          return what.str(1);
       }
       else
@@ -172,7 +172,7 @@
       boost::u16match what;
       if(boost::u32regex_search(text, what, r))
       {
-         // extract $0 as a CString:
+         // extract $0 as a UnicodeString:
          return UnicodeString(what[0].first, what.length(0));
       }
       else
Modified: branches/hash/libs/regex/example/snippets/icu_example.cpp
==============================================================================
--- branches/hash/libs/regex/example/snippets/icu_example.cpp	(original)
+++ branches/hash/libs/regex/example/snippets/icu_example.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -43,7 +43,7 @@
    boost::smatch what;
    if(boost::u32regex_match(path, what, r))
    {
-      // extract $1 as a CString:
+      // extract $1 as a std::string:
       return what.str(1);
    }
    else
@@ -61,7 +61,7 @@
    boost::u16match what;
    if(boost::u32regex_search(text, what, r))
    {
-      // extract $0 as a CString:
+      // extract $0 as a UnicodeString:
       return UnicodeString(what[0].first, what.length(0));
    }
    else
Modified: branches/hash/more/formal_review_schedule.html
==============================================================================
--- branches/hash/more/formal_review_schedule.html	(original)
+++ branches/hash/more/formal_review_schedule.html	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -102,7 +102,7 @@
     <td>Jody Hagins</td>
     <td>August 13, 2007 - August 22, 2007-</td>
     <td><a href="http://listarchives.boost.org/boost-announce/2007/08/0139.php">
-        Ongoing</a></td>
+        Pending</a></td>
   </tr>
 
   <tr>
Modified: branches/hash/tools/build/v2/build/virtual-target.jam
==============================================================================
--- branches/hash/tools/build/v2/build/virtual-target.jam	(original)
+++ branches/hash/tools/build/v2/build/virtual-target.jam	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -378,40 +378,18 @@
                         
             return l$(location-grist) ;
         }                
-    }            
-
-    # Given the target name specified in constructor, returns the
-    # name which should be really used, by looking at the <tag> properties.
-    # The tag properties come in two flavour:
-    #   - <tag>value, 
-    #   - <tag>@rule-name
-    # In the first case, value is just added to name
-    # In the second case, the specified rule is called with specified name,
-    # target type and properties and should return the new name.
-    # If not <tag> property is specified, or the rule specified by
-    # <tag> returns nothing, returns the result of calling 
-    # virtual-target.add-suffix
-    rule _adjust-name ( specified-name )
+    }
+    
+    # Applies the <tag> feature to the specified name,
+    # and returns the new name. If there no <tag>
+    # or <tag> rule retuend nothing, return empty string.
+    # 'ps' is the property set to be used when calling
+    # the 'tag' rule. Typically, that should be
+    # obtained from 'tag-properties'.
+    rule apply-tag ( specified-name : ps )
     {        
-        local ps ;
-        if $(self.action) 
-        {
-            ps = [ $(self.action).properties ] ;
-        }
-        else
-        {
-            ps = [ property-set.empty ] ;
-        }
-        
-        #~ We add ourselves to the properties so that any tag rule can get
-        #~ more direct information about the target than just that available
-        #~ through the properties. This is useful in implementing
-        #~ name changes based on the sources of the target. For example to
-        #~ make unique names of object files based on the source file.
-        #~ --grafik
-        ps = [ property-set.create [ $(ps).raw ] <target>$(__name__) ] ;
-        
         local tag = [ $(ps).get <tag> ] ;
+        local result ;
 
         if $(tag)
         {
@@ -423,7 +401,7 @@
                     errors.error "<tag>@rulename is present but is not the only <tag> feature" ;
                 }
                 
-                self.name = [ indirect.call $(rule-name) $(specified-name) :
+                result = [ indirect.call $(rule-name) $(specified-name) :
                   $(self.type) :  $(ps) ] ;
             }
             else
@@ -431,14 +409,57 @@
                 errors.error 
                   "The value of the <tag> feature must be '@rule-nane'" ;
             }
+        }        
+        return $(result) ;
+    }
+
+    rule tag-properties ( )
+    {        
+        local ps ;
+        if $(self.action) 
+        {
+            ps = [ $(self.action).properties ] ;
+        }
+        else
+        {
+            ps = [ property-set.empty ] ;            
         }
+
         
-        # If there's no tag or the tag rule returned nothing.
-        if ! $(tag) || ! $(self.name)
+        #~ We add ourselves to the properties so that any tag rule can get
+        #~ more direct information about the target than just that available
+        #~ through the properties. This is useful in implementing
+        #~ name changes based on the sources of the target. For example to
+        #~ make unique names of object files based on the source file.
+        #~ --grafik
+        ps = [ property-set.create [ $(ps).raw ] <target>$(__name__) ] ;
+
+        return $(ps) ;
+    }
+        
+    # Given the target name specified in constructor, returns the
+    # name which should be really used, by looking at the <tag> properties.
+    # The tag properties come in two flavour:
+    #   - <tag>value, 
+    #   - <tag>@rule-name
+    # In the first case, value is just added to name
+    # In the second case, the specified rule is called with specified name,
+    # target type and properties and should return the new name.
+    # If not <tag> property is specified, or the rule specified by
+    # <tag> returns nothing, returns the result of calling 
+    # virtual-target.add-suffix
+    rule _adjust-name ( specified-name )
+    {        
+        local ps = [ tag-properties ] ;
+        
+        self.name = [ apply-tag $(specified-name) : $(ps) ] ;
+        # If tag rule does not exists or returned nothing,
+        # just add prefix/suffix.
+        if ! $(self.name)
         {                            
             self.name = [ virtual-target.add-prefix-and-suffix
                 $(specified-name) : $(self.type) : $(ps) ] ;
-        }    
+        }
     }
 
     rule actualize-no-scanner ( )
Modified: branches/hash/tools/build/v2/nightly.sh
==============================================================================
--- branches/hash/tools/build/v2/nightly.sh	(original)
+++ branches/hash/tools/build/v2/nightly.sh	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -18,7 +18,7 @@
 cd /tmp
 rm -rf boost-build
 echo "Checking out sources"
-cvs -d :ext:vladimir_prus_at_[hidden]:/cvsroot/boost co -P -d  boost-build boost/tools > /tmp/boost_build_checkout_log
+svn co http://svn.boost.org/svn/boost/trunk/tools boost-build > /tmp/boost_build_checkout_log
 mv /tmp/boost_build_checkout_log boost-build/checkout-log
 cd boost-build/build/v2
 echo "Building packages and uploading docs"
Modified: branches/hash/tools/build/v2/roll.sh
==============================================================================
--- branches/hash/tools/build/v2/roll.sh	(original)
+++ branches/hash/tools/build/v2/roll.sh	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -7,18 +7,23 @@
 # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 
 
 set -e
-# Do some renames/rearrangments
 
+# Do some renames/rearrangments
 cp -r ../v2 ../boost-build
 # Grab jam_src
 cp -r ../../jam/src ../boost-build/jam_src
 cd ../boost-build
 
+# Capture the version
+revision=`svnversion ..`
+echo "SVN Revision $revision" >> timestamp.txt
+date >> timestamp.txt
+
 # This one is not fully finished
 rm -rf example/versioned
 
 # Remove unnecessary top-level files
-find . -maxdepth 1 -type f | egrep -v "roll.sh|bootstrap.jam|build-system.jam|boost_build_v2.html|boost.png|index.html|hacking.txt|site-config.jam|user-config.jam" | xargs rm -f
+find . -maxdepth 1 -type f | egrep -v "timestamp.txt|roll.sh|bootstrap.jam|build-system.jam|boost_build_v2.html|boost.png|index.html|hacking.txt|site-config.jam|user-config.jam" | xargs rm -f
 
 # Prepare some more files.
 echo -e "boost-build kernel ;\n" > boost-build.jam
@@ -43,10 +48,9 @@
 perl -pi -e 's%../../../doc/html/bbv2.installation.html%doc/html/bbv2.installation.html%' index.html
 
 # Make packages
-find . -name CVS | xargs rm -rf
+find . -name ".svn" | xargs rm -rf
 rm roll.sh
 chmod a+x jam_src/build.bat
-date >> timestamp.txt
 cd .. && zip -r boost-build.zip boost-build && tar --bzip2 -cf boost-build.tar.bz2 boost-build
 cd boost-build
 
Modified: branches/hash/tools/build/v2/test/BoostBuild.py
==============================================================================
--- branches/hash/tools/build/v2/test/BoostBuild.py	(original)
+++ branches/hash/tools/build/v2/test/BoostBuild.py	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -64,9 +64,10 @@
 features = [ 'threading-multi' ]
 
 lib_prefix = 1
+dll_prefix = 1
 if windows:
-    lib_prefix = 0
-        
+    #~ lib_prefix = 0
+    dll_prefix = 0
     
     
 #
@@ -288,8 +289,10 @@
         for name in names:
             n = self.native_file_name(name)
             n = glob.glob(n)
+            if n: n = n[0]
+            if not n:
+                n = self.glob_file(string.replace(name, "$toolset", self.toolset+"*"))
             if n:
-                n = n[0]
                 if os.path.isdir(n):
                     shutil.rmtree(n, ignore_errors=0)
                 else:
@@ -410,7 +413,9 @@
                     result = self.native_file_name(f)
                     break
         if not result:
-            result = glob.glob(self.native_file_name(name))[0]
+            result = glob.glob(self.native_file_name(name))
+            if result:
+                result = result[0]
         return result
 
     def read(self, name):
@@ -418,7 +423,7 @@
             if self.toolset:
                 name = string.replace(name, "$toolset", self.toolset+"*")
             name = self.glob_file(name)
-            return open(name, "rb").read()
+            return open(name, "rU").read()
         except:
             self.fail_test(1)
             return ''
@@ -681,11 +686,16 @@
         pos = string.rfind(name, ".")
         if pos != -1:
             suffix = name[pos:]
-            if suffix in [".lib", ".dll"]:
+            if suffix == ".lib":
                 (head, tail) = os.path.split(name)
                 if lib_prefix:
                     tail = "lib" + tail
                     result = os.path.join(head, tail)
+            elif suffix == ".dll":
+                (head, tail) = os.path.split(name)
+                if dll_prefix:
+                    tail = "lib" + tail
+                    result = os.path.join(head, tail)
         return result
                 
     def adjust_suffix(self, name):
Modified: branches/hash/tools/build/v2/test/regression.py
==============================================================================
--- branches/hash/tools/build/v2/test/regression.py	(original)
+++ branches/hash/tools/build/v2/test/regression.py	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -74,7 +74,7 @@
 
 # Make sure args are handled.
 t.expect_content("bin/r.test/$toolset/debug/r.output",
-                 "foo\nbar\n\nEXIT STATUS: 0\n",True)
+                 "foo\nbar\n*\nEXIT STATUS: 0*\n",True)
 
 # Test that input file is handled as well.
 t.write("r.cpp", """
Modified: branches/hash/tools/build/v2/tools/builtin.jam
==============================================================================
--- branches/hash/tools/build/v2/tools/builtin.jam	(original)
+++ branches/hash/tools/build/v2/tools/builtin.jam	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -333,31 +333,28 @@
     rule __init__ ( name     
         : project 
         : shared ?                                
-        : real-name ?
         : search *
         : action
     )
     {
-        abstract-file-target.__init__ $(name) : SEARCHED_LIB : $(project) 
-          : $(action) ;
+        abstract-file-target.__init__ $(name) exact : SEARCHED_LIB : $(project) 
+          : $(action) : ;
+        
+        local rn = [ apply-tag $(name) : [ tag-properties ] ] ;
+        if $(rn)
+        {
+           self.name = $(rn) ;
+        }        
         
         self.shared = $(shared) ;
-        self.real-name = $(real-name) ;
-        self.real-name ?= $(name) ;
         self.search = $(search) ;
     }
-    
-    
+        
     rule shared ( )
     {
         return $(self.shared) ;
     }
-    
-    rule real-name ( ) 
-    {
-        return $(self.real-name) ;
-    }
-    
+        
     rule search ( )
     {
         return $(self.search) ;
@@ -578,8 +575,8 @@
             local search = [ feature.get-values <search> : $(properties) ] ;
 
             a = [ new null-action $(property-set) ] ;
-            local t = [ new searched-lib-target $(name) : $(project) : $(shared)
-                            : [ feature.get-values <name> : $(properties) ]
+            local lib-name = [ feature.get-values <name> : $(properties) ] ;
+            local t = [ new searched-lib-target $(lib-name) : $(project) : $(shared)
                             : $(search)
                             : $(a)
                       ] ;
@@ -809,7 +806,7 @@
         {
             if [ type.is-derived [ $(s).type ] SEARCHED_LIB ]
             {
-                local name = [ $(s).real-name ] ;
+                local name = [ $(s).name ] ;
                 if [ $(s).shared ] 
                 {                    
                     fsa +=  $(name) ;
Modified: branches/hash/tools/build/v2/tools/sun.jam
==============================================================================
--- branches/hash/tools/build/v2/tools/sun.jam	(original)
+++ branches/hash/tools/build/v2/tools/sun.jam	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -54,6 +54,23 @@
 
 flags sun.compile.c++ OPTIONS <inlining>off : +d ;
 
+# The -m32 and -m64 options are supported starting
+# with Sun Studio 12.  On earlier compilers, the
+# 'address-model' feature is not supported and should not
+# be used. Instead, use -xarch=generic64 command line
+# option.
+# See http://svn.boost.org/trac/boost/ticket/1186
+# for details.
+flags sun OPTIONS <address-model>32 : -m32 ;
+flags sun OPTIONS <address-model>64 : -m64 ;
+# On sparc, there's a difference between -Kpic
+# and -KPIC. The first is slightly more efficient,
+# but has the limits on the size of GOT table.
+# For minimal fuss on user side, we use -KPIC here.
+# See http://svn.boost.org/trac/boost/ticket/1186#comment:6
+# for detailed explanation.
+flags sun OPTIONS <link>shared : -KPIC ;
+
 flags sun.compile OPTIONS <cflags> ;
 flags sun.compile.c++ OPTIONS <cxxflags> ;
 flags sun.compile DEFINES <define> ;
Modified: branches/hash/tools/build/v2/util/path.jam
==============================================================================
--- branches/hash/tools/build/v2/util/path.jam	(original)
+++ branches/hash/tools/build/v2/util/path.jam	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -380,7 +380,14 @@
                 errors.error $(child) is not a subdir of $(parent) ;
             }                
         }    
-        return [ join $(split2) ] ;    
+        if $(split2)
+        {
+            return [ join $(split2) ] ;    
+        }
+        else
+        {
+            return "." ;
+        }
     }    
 }
 
Modified: branches/hash/tools/regression/library_status.cpp
==============================================================================
--- branches/hash/tools/regression/library_status.cpp	(original)
+++ branches/hash/tools/regression/library_status.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -89,32 +89,24 @@
     struct col_node {
         int rows, cols;
         bool is_leaf_directory;
-        std::string m_name;
-        std::set<col_node> m_subcolumns;
+        typedef std::map<const std::string, col_node> subcolumns_t;
+        subcolumns_t m_subcolumns;
         bool operator<(const col_node &cn) const;
-        col_node(const std::string &s) :
-        m_name(s),
+        col_node() :
             is_leaf_directory(false)
         {}
-        col_node(){};
         std::pair<int, int> get_spans();
-        typedef std::set<col_node>::iterator iterator;
-        typedef std::set<col_node>::const_iterator const_iterator;
     };
 
-    bool col_node::operator<(const col_node &cn) const {
-        return m_name < cn.m_name;
-    }
-
     std::pair<int, int> col_node::get_spans(){
         rows = 1;
         cols = 0;
         if(is_leaf_directory)
             cols = 1;
-        std::set<col_node>::iterator itr;
+        subcolumns_t::iterator itr;
         for(itr = m_subcolumns.begin(); itr != m_subcolumns.end(); ++itr){
             std::pair<int, int> spans;
-            spans = itr->get_spans();
+            spans = itr->second.get_spans();
             rows = std::max(rows, spans.first);
             cols += spans.second;
         }
@@ -126,9 +118,11 @@
         fs::directory_iterator itr(dir_root);
         while(itr != end_itr){
             if(fs::is_directory(*itr)){
-                std::pair<col_node::iterator, bool> result 
-                    = node.m_subcolumns.insert(col_node(itr->leaf()));
-                build_node_tree(*itr, *(result.first));
+                std::pair<col_node::subcolumns_t::iterator, bool> result 
+                    = node.m_subcolumns.insert(
+                        std::make_pair(itr->leaf(), col_node())
+                    );
+                build_node_tree(*itr, result.first->second);
                 is_leaf_directory = false;
             }
             ++itr;
@@ -552,19 +546,19 @@
             );
         }
 
-        col_node::const_iterator col_itr;
+        col_node::subcolumns_t::const_iterator col_itr;
         for(
             col_itr = node.m_subcolumns.begin(); 
             col_itr != node.m_subcolumns.end();
             ++col_itr
         ){
-            fs::path subdir = dir_root / col_itr->m_name;
+            fs::path subdir = dir_root / col_itr->first;
             retval |= visit_node_tree(
-                *col_itr, 
+                col_itr->second, 
                 subdir,
                 lib_name,
                 target,
-                col_itr->m_name == "profile"
+                col_itr->first == "profile"
             );
         }
         return retval;
@@ -656,10 +650,10 @@
 
     //  column header-----------------------------------------------------------//
     int header_depth(const col_node & root){
-        std::set<col_node>::const_iterator itr;
+        col_node::subcolumns_t::const_iterator itr;
         int max_depth = 1;
         for(itr = root.m_subcolumns.begin(); itr != root.m_subcolumns.end(); ++itr){
-            max_depth = std::max(max_depth, itr->rows);
+            max_depth = std::max(max_depth, itr->second.rows);
         }
         return max_depth;
     }
@@ -685,9 +679,9 @@
     ){
         if(current_row < display_row){
             if(! node.m_subcolumns.empty()){
-                std::set<col_node>::const_iterator itr;
+                col_node::subcolumns_t::const_iterator itr;
                 for(itr = node.m_subcolumns.begin(); itr != node.m_subcolumns.end(); ++itr){
-                    emit_column_headers(*itr, display_row, current_row + 1, row_count);
+                    emit_column_headers(itr->second, display_row, current_row + 1, row_count);
                 }
             }
             return;
@@ -695,12 +689,12 @@
         if(node.is_leaf_directory && ! node.m_subcolumns.empty()){
             header_cell(row_count - current_row, 1, std::string(""));
         }
-        std::set<col_node>::const_iterator itr;
+        col_node::subcolumns_t::const_iterator itr;
         for(itr = node.m_subcolumns.begin(); itr != node.m_subcolumns.end(); ++itr){
-            if(1 == itr->rows)
-                header_cell(row_count - current_row, itr->cols, itr->m_name);
+            if(1 == itr->second.rows)
+                header_cell(row_count - current_row, itr->second.cols, itr->first);
             else
-                header_cell(1, itr->cols, itr->m_name);
+                header_cell(1, itr->second.cols, itr->first);
         }
     }
 
Modified: branches/hash/tools/regression/process_jam_log.cpp
==============================================================================
--- branches/hash/tools/regression/process_jam_log.cpp	(original)
+++ branches/hash/tools/regression/process_jam_log.cpp	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -128,15 +128,10 @@
   {
     string temp( s );
     convert_path_separators( temp );
-    string::size_type pos = temp.find_last_of( "/");
-    if(pos == string::npos)
-        temp = "./";
-    else{
-        temp.erase( pos ); // remove leaf
+    temp.erase( temp.find_last_of( "/" ) ); // remove leaf
     temp = split( trim_left( temp ) ).back();
     if ( temp[0] == '.' ) temp.erase( 0, temp.find_first_not_of( "./" ) ); 
     else temp.erase( 0, locate_root.string().size()+1 );
-    }
     if ( echo )
         std::cout << "\ttarget_directory( \"" << s << "\") -> \"" << temp << "\"" << std::endl;
     return temp;
@@ -176,43 +171,52 @@
   // returns library name corresponding to that path.
   string test_path_to_library_name( string const& path )
   {
-    // The path format is ...libs/.../something.test/....      
-    // So, the part between "libs" and "something.test" can be considered
+    std::string result;
+    string::size_type start_pos( path.find( "libs/" ) );
+    if ( start_pos != string::npos )
+    {
+      // The path format is ...libs/functional/hash/test/something.test/....      
+      // So, the part between "libs" and "test/something.test" can be considered
       // as library name. But, for some libraries tests are located too deep,
       // say numeric/ublas/test/test1 directory, and some libraries have tests
-    // in several subdirectories (regex/example and regex/test). So, its
-    // not a "library name" as it may include subdirectories
+      // in several subdirectories (regex/example and regex/test). So, nested
+      // directory may belong to several libraries.
 
-    string::size_type end_pos = path.find(".test/");
-    end_pos = path.rfind("/", end_pos);
+      // To disambituate, it's possible to place a 'sublibs' file in
+      // a directory. It means that child directories are separate libraries.
+      // It's still possible to have tests in the directory that has 'sublibs'
+      // file.
+
+      std::string interesting;
+      start_pos += 5;
+      string::size_type end_pos( path.find( ".test/", start_pos ) );
+      end_pos = path.rfind('/', end_pos);
+      if (path.substr(end_pos - 5, 5) == "/test")
+        interesting = path.substr( start_pos, end_pos - 5 - start_pos );
+      else
+        interesting = path.substr( start_pos, end_pos - start_pos );
 
-    string::size_type start_pos;
-    string::size_type pos = end_pos;
-    unsigned int i;
-    for(i = 0;; ++i){
-        start_pos = path.rfind("/", pos - 1);
-
-        if ( start_pos == string::npos )
-            return string(); // empty string
-
-        ++start_pos;
-
-        const std::string dir = path.substr(start_pos, pos - start_pos);
-        if(0 == i){
-           // if this directory is either "test" or "example"
-           // skip it in order to be compatible with testing.jam
-           if("test" == dir
-           || "example" == dir){
-                end_pos = start_pos - 1;
+      // Take slash separate elements until we have corresponding 'sublibs'.
+      end_pos = 0;
+      for(;;)
+      {
+        end_pos = interesting.find('/', end_pos);
+        if (end_pos == string::npos) {
+          result = interesting;
+          break;
         }
+        result = interesting.substr(0, end_pos);
+
+        if ( fs::exists( ( boost_root / "libs" ) / result / "sublibs" ) )
+        {
+          end_pos = end_pos + 1;
         }
-        if("libs" == dir){
-            start_pos = pos + 1;
+        else
           break;
       }
-        pos = start_pos - 1;
     }
-    return path.substr(start_pos, end_pos - start_pos);
+
+    return result;
   }
 
   // Tries to find target name in the string 'msg', starting from 
Modified: branches/hash/tools/regression/xsl_reports/runner/regression.py
==============================================================================
--- branches/hash/tools/regression/xsl_reports/runner/regression.py	(original)
+++ branches/hash/tools/regression/xsl_reports/runner/regression.py	2007-08-27 15:56:02 EDT (Mon, 27 Aug 2007)
@@ -182,7 +182,7 @@
 def download_boost_tarball( destination, tag, proxy, timestamp_only = False ):
     tarball_name = tarball_name_for_tag( tag, timestamp_only )
     tarball_path = os.path.join( destination, tarball_name )
-    tarball_url = 'http://engineering.meta-comm.com/boost/snapshot/%s' % tarball_name
+    tarball_url = 'http://beta.boost.org/development/snapshot.php/%s' % tag
 
     log( 'Downloading "%s" to "%s"...'  % ( tarball_url, os.path.dirname( tarball_path ) ) )
     if os.path.exists( tarball_path ):