Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r78641 - in branches/release: . boost boost/algorithm boost/algorithm/cxx11 boost/algorithm/searching boost/algorithm/searching/detail boost/algorithm/string boost/algorithm/string/detail boost/archive boost/container boost/date_time boost/date_time/posix_time boost/detail boost/dynamic_bitset boost/function boost/functional boost/fusion boost/geometry boost/geometry/algorithms boost/geometry/arithmetic boost/geometry/core boost/geometry/domains boost/geometry/geometries boost/geometry/io boost/geometry/io/dsv boost/geometry/iterators boost/geometry/multi boost/geometry/policies boost/geometry/strategies boost/geometry/util boost/geometry/views boost/gil boost/graph boost/graph/detail boost/graph/planar_detail boost/icl boost/io boost/iostreams boost/iterator boost/numeric/ublas boost/pool boost/preprocessor boost/program_options boost/property_map boost/property_tree boost/python boost/range boost/ratio boost/serialization boost/signals boost/signals2 boost/spirit boost/spirit/home boost/spirit/home/karma boost/spirit/home/support boost/statechart boost/tr1 boost/typeof boost/unordered boost/utility boost/uuid boost/variant boost/wave boost/xpressive doc libs libs/algorithm/doc libs/algorithm/example libs/algorithm/minmax libs/algorithm/string libs/algorithm/string/doc libs/algorithm/test libs/algorithm/test/search_test_data libs/array libs/array/test libs/container libs/date_time libs/date_time/data libs/date_time/example/gregorian libs/date_time/example/local_time libs/date_time/example/posix_time libs/date_time/example/tutorial libs/date_time/test/posix_time libs/date_time/xmldoc libs/detail libs/function libs/functional libs/fusion libs/geometry libs/geometry/doc libs/geometry/doc/concept libs/geometry/doc/doxy libs/geometry/doc/generated libs/geometry/doc/html libs/geometry/doc/reference libs/geometry/doc/src libs/geometry/example libs/geometry/test libs/graph/doc libs/graph/example libs/graph/test libs/graph_parallel libs/icl libs/icl/doc libs/icl/doc/html libs/icl/doc/html/header/boost/icl libs/icl/test libs/icl/test/test_doc_code_ libs/io libs/io/doc libs/iostreams libs/iterator libs/mpi/build libs/mpl/doc/refmanual libs/mpl/doc/src/refmanual libs/msm libs/numeric/ublas libs/numeric/ublas/doc libs/parameter/doc/html libs/phoenix/doc libs/phoenix/doc/examples libs/pool libs/preprocessor libs/program_options libs/property_tree libs/python libs/range libs/ratio libs/serialization libs/serialization/example libs/serialization/src libs/serialization/test libs/signals libs/signals2 libs/signals2/doc libs/spirit libs/spirit/classic/example libs/spirit/doc libs/spirit/example libs/spirit/phoenix libs/spirit/test libs/spirit/test/qi libs/statechart libs/static_assert libs/timer libs/tr1 libs/typeof/doc libs/unordered libs/utility libs/utility/swap/test libs/uuid libs/wave more status tools tools/bcp tools/boostbook tools/build/v2 tools/inspect tools/quickbook tools/regression tools/regression/src tools/release tools/wave
From: jewillco_at_[hidden]
Date: 2012-05-26 14:56:40


Author: jewillco
Date: 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
New Revision: 78641
URL: http://svn.boost.org/trac/boost/changeset/78641

Log:
Merged in more trunk bug fixes for Boost.Graph and Boost.PropertyMap
Properties modified:
   branches/release/ (props changed)
   branches/release/INSTALL (props changed)
   branches/release/Jamroot (props changed)
   branches/release/LICENSE_1_0.txt (props changed)
   branches/release/boost/ (props changed)
   branches/release/boost-build.jam (props changed)
   branches/release/boost.css (props changed)
   branches/release/boost.png (props changed)
   branches/release/boost/algorithm/clamp.hpp (props changed)
   branches/release/boost/algorithm/cxx11/all_of.hpp (props changed)
   branches/release/boost/algorithm/cxx11/any_of.hpp (props changed)
   branches/release/boost/algorithm/cxx11/copy_if.hpp (props changed)
   branches/release/boost/algorithm/cxx11/copy_n.hpp (props changed)
   branches/release/boost/algorithm/cxx11/find_if_not.hpp (props changed)
   branches/release/boost/algorithm/cxx11/iota.hpp (props changed)
   branches/release/boost/algorithm/cxx11/is_partitioned.hpp (props changed)
   branches/release/boost/algorithm/cxx11/is_permutation.hpp (props changed)
   branches/release/boost/algorithm/cxx11/is_sorted.hpp (props changed)
   branches/release/boost/algorithm/cxx11/none_of.hpp (props changed)
   branches/release/boost/algorithm/cxx11/one_of.hpp (props changed)
   branches/release/boost/algorithm/cxx11/partition_copy.hpp (props changed)
   branches/release/boost/algorithm/cxx11/partition_point.hpp (props changed)
   branches/release/boost/algorithm/hex.hpp (props changed)
   branches/release/boost/algorithm/searching/boyer_moore.hpp (props changed)
   branches/release/boost/algorithm/searching/boyer_moore_horspool.hpp (props changed)
   branches/release/boost/algorithm/searching/detail/bm_traits.hpp (props changed)
   branches/release/boost/algorithm/searching/detail/debugging.hpp (props changed)
   branches/release/boost/algorithm/searching/knuth_morris_pratt.hpp (props changed)
   branches/release/boost/algorithm/string/ (props changed)
   branches/release/boost/algorithm/string/detail/case_conv.hpp (props changed)
   branches/release/boost/algorithm/string/detail/classification.hpp (props changed)
   branches/release/boost/archive/ (props changed)
   branches/release/boost/array.hpp (props changed)
   branches/release/boost/concept_check.hpp (props changed)
   branches/release/boost/container/ (props changed)
   branches/release/boost/current_function.hpp (props changed)
   branches/release/boost/date_time/c_time.hpp (props changed)
   branches/release/boost/date_time/date_formatting.hpp (props changed)
   branches/release/boost/date_time/filetime_functions.hpp (props changed)
   branches/release/boost/date_time/gregorian_calendar.ipp (props changed)
   branches/release/boost/date_time/posix_time/time_serialize.hpp (props changed)
   branches/release/boost/date_time/strings_from_facet.hpp (props changed)
   branches/release/boost/date_time/time_facet.hpp (props changed)
   branches/release/boost/date_time/tz_db_base.hpp (props changed)
   branches/release/boost/detail/ (props changed)
   branches/release/boost/detail/fenv.hpp (props changed)
   branches/release/boost/detail/interlocked.hpp (props changed)
   branches/release/boost/dynamic_bitset/dynamic_bitset.hpp (props changed)
   branches/release/boost/function/ (props changed)
   branches/release/boost/function/function_template.hpp (props changed)
   branches/release/boost/functional/ (props changed)
   branches/release/boost/fusion/ (props changed)
   branches/release/boost/geometry/ (props changed)
   branches/release/boost/geometry/algorithms/ (props changed)
   branches/release/boost/geometry/arithmetic/ (props changed)
   branches/release/boost/geometry/core/ (props changed)
   branches/release/boost/geometry/domains/ (props changed)
   branches/release/boost/geometry/geometries/ (props changed)
   branches/release/boost/geometry/geometry.hpp (props changed)
   branches/release/boost/geometry/io/ (props changed)
   branches/release/boost/geometry/io/dsv/ (props changed)
   branches/release/boost/geometry/iterators/ (props changed)
   branches/release/boost/geometry/multi/ (props changed)
   branches/release/boost/geometry/policies/ (props changed)
   branches/release/boost/geometry/strategies/ (props changed)
   branches/release/boost/geometry/util/ (props changed)
   branches/release/boost/geometry/views/ (props changed)
   branches/release/boost/gil/ (props changed)
   branches/release/boost/graph/ (props changed)
   branches/release/boost/icl/ (props changed)
   branches/release/boost/io/ (props changed)
   branches/release/boost/iostreams/ (props changed)
   branches/release/boost/iterator/ (props changed)
   branches/release/boost/iterator/iterator_facade.hpp (props changed)
   branches/release/boost/math_fwd.hpp (props changed)
   branches/release/boost/numeric/ublas/ (props changed)
   branches/release/boost/numeric/ublas/functional.hpp (props changed)
   branches/release/boost/pool/ (props changed)
   branches/release/boost/preprocessor/ (props changed)
   branches/release/boost/program_options/ (props changed)
   branches/release/boost/property_tree/ (props changed)
   branches/release/boost/python/ (props changed)
   branches/release/boost/range/ (props changed)
   branches/release/boost/ratio/ (props changed)
   branches/release/boost/regex.h (props changed)
   branches/release/boost/regex_fwd.hpp (props changed)
   branches/release/boost/serialization/ (props changed)
   branches/release/boost/signals/ (props changed)
   branches/release/boost/signals2/ (props changed)
   branches/release/boost/signals2.hpp (props changed)
   branches/release/boost/spirit/ (props changed)
   branches/release/boost/spirit/home/ (props changed)
   branches/release/boost/spirit/home/karma/ (props changed)
   branches/release/boost/spirit/home/support/attributes.hpp (props changed)
   branches/release/boost/statechart/ (props changed)
   branches/release/boost/static_assert.hpp (props changed)
   branches/release/boost/timer.hpp (props changed)
   branches/release/boost/token_functions.hpp (props changed)
   branches/release/boost/tr1/ (props changed)
   branches/release/boost/typeof/message.hpp (props changed)
   branches/release/boost/typeof/register_functions.hpp (props changed)
   branches/release/boost/typeof/register_functions_iterate.hpp (props changed)
   branches/release/boost/typeof/typeof.hpp (props changed)
   branches/release/boost/typeof/unsupported.hpp (props changed)
   branches/release/boost/unordered/ (props changed)
   branches/release/boost/utility/ (props changed)
   branches/release/boost/utility/value_init.hpp (props changed)
   branches/release/boost/uuid/ (props changed)
   branches/release/boost/variant/ (props changed)
   branches/release/boost/version.hpp (props changed)
   branches/release/boost/wave/ (props changed)
   branches/release/boost/xpressive/ (props changed)
   branches/release/boostcpp.jam (props changed)
   branches/release/bootstrap.bat (props changed)
   branches/release/bootstrap.sh (props changed)
   branches/release/doc/ (props changed)
   branches/release/index.htm (props changed)
   branches/release/index.html (props changed)
   branches/release/libs/ (props changed)
   branches/release/libs/algorithm/doc/Jamfile.v2 (props changed)
   branches/release/libs/algorithm/doc/algorithm.qbk (props changed)
   branches/release/libs/algorithm/doc/all_of.qbk (props changed)
   branches/release/libs/algorithm/doc/any_of.qbk (props changed)
   branches/release/libs/algorithm/doc/boyer_moore.qbk (props changed)
   branches/release/libs/algorithm/doc/boyer_moore_horspool.qbk (props changed)
   branches/release/libs/algorithm/doc/clamp-hpp.qbk (props changed)
   branches/release/libs/algorithm/doc/hex.qbk (props changed)
   branches/release/libs/algorithm/doc/is_partitioned.qbk (props changed)
   branches/release/libs/algorithm/doc/knuth_morris_pratt.qbk (props changed)
   branches/release/libs/algorithm/doc/none_of.qbk (props changed)
   branches/release/libs/algorithm/doc/one_of.qbk (props changed)
   branches/release/libs/algorithm/doc/ordered-hpp.qbk (props changed)
   branches/release/libs/algorithm/doc/partition_point.qbk (props changed)
   branches/release/libs/algorithm/example/Jamfile.v2 (props changed)
   branches/release/libs/algorithm/example/clamp_example.cpp (props changed)
   branches/release/libs/algorithm/example/search_example.cpp (props changed)
   branches/release/libs/algorithm/minmax/index.html (props changed)
   branches/release/libs/algorithm/string/ (props changed)
   branches/release/libs/algorithm/string/doc/Jamfile.v2 (props changed)
   branches/release/libs/algorithm/test/Jamfile.v2 (props changed)
   branches/release/libs/algorithm/test/all_of_test.cpp (props changed)
   branches/release/libs/algorithm/test/any_of_test.cpp (props changed)
   branches/release/libs/algorithm/test/clamp_test.cpp (props changed)
   branches/release/libs/algorithm/test/copy_n_test1.cpp (props changed)
   branches/release/libs/algorithm/test/empty_search_test.cpp (props changed)
   branches/release/libs/algorithm/test/find_if_not_test1.cpp (props changed)
   branches/release/libs/algorithm/test/hex_fail1.cpp (props changed)
   branches/release/libs/algorithm/test/hex_test1.cpp (props changed)
   branches/release/libs/algorithm/test/hex_test2.cpp (props changed)
   branches/release/libs/algorithm/test/hex_test3.cpp (props changed)
   branches/release/libs/algorithm/test/iota_test1.cpp (props changed)
   branches/release/libs/algorithm/test/is_partitioned_test1.cpp (props changed)
   branches/release/libs/algorithm/test/is_permutation_test1.cpp (props changed)
   branches/release/libs/algorithm/test/none_of_test.cpp (props changed)
   branches/release/libs/algorithm/test/one_of_test.cpp (props changed)
   branches/release/libs/algorithm/test/ordered_test.cpp (props changed)
   branches/release/libs/algorithm/test/partition_copy_test1.cpp (props changed)
   branches/release/libs/algorithm/test/partition_point_test1.cpp (props changed)
   branches/release/libs/algorithm/test/search_fail1.cpp (props changed)
   branches/release/libs/algorithm/test/search_fail2.cpp (props changed)
   branches/release/libs/algorithm/test/search_fail3.cpp (props changed)
   branches/release/libs/algorithm/test/search_test1.cpp (props changed)
   branches/release/libs/algorithm/test/search_test2.cpp (props changed)
   branches/release/libs/algorithm/test/search_test3.cpp (props changed)
   branches/release/libs/algorithm/test/search_test_data/0001.corpus (props changed)
   branches/release/libs/algorithm/test/search_test_data/0001b.pat (props changed)
   branches/release/libs/algorithm/test/search_test_data/0001e.pat (props changed)
   branches/release/libs/algorithm/test/search_test_data/0001f.pat (props changed)
   branches/release/libs/algorithm/test/search_test_data/0001n.pat (props changed)
   branches/release/libs/algorithm/test/search_test_data/0002b.pat (props changed)
   branches/release/libs/algorithm/test/search_test_data/0002e.pat (props changed)
   branches/release/libs/algorithm/test/search_test_data/0002f.pat (props changed)
   branches/release/libs/algorithm/test/search_test_data/0002n.pat (props changed)
   branches/release/libs/array/ (props changed)
   branches/release/libs/array/test/Jamfile.v2 (props changed)
   branches/release/libs/array/test/array0.cpp (props changed)
   branches/release/libs/array/test/array2.cpp (props changed)
   branches/release/libs/array/test/array6.cpp (props changed)
   branches/release/libs/array/test/array_hash.cpp (props changed)
   branches/release/libs/container/ (props changed)
   branches/release/libs/date_time/ (props changed)
   branches/release/libs/date_time/data/date_time_zonespec.csv (props changed)
   branches/release/libs/date_time/example/gregorian/days_between_new_years.cpp (props changed)
   branches/release/libs/date_time/example/gregorian/days_since_year_start.cpp (props changed)
   branches/release/libs/date_time/example/gregorian/days_till_new_year.cpp (props changed)
   branches/release/libs/date_time/example/gregorian/month_add.cpp (props changed)
   branches/release/libs/date_time/example/local_time/flight.cpp (props changed)
   branches/release/libs/date_time/example/local_time/local_date_time.cpp (props changed)
   branches/release/libs/date_time/example/posix_time/print_hours.cpp (props changed)
   branches/release/libs/date_time/example/posix_time/time_math.cpp (props changed)
   branches/release/libs/date_time/example/tutorial/io_tutorial.cpp (props changed)
   branches/release/libs/date_time/test/posix_time/testtime_facet.cpp (props changed)
   branches/release/libs/date_time/test/posix_time/testtime_input_facet.cpp (props changed)
   branches/release/libs/date_time/xmldoc/date_class.xml (props changed)
   branches/release/libs/date_time/xmldoc/usage_examples.xml (props changed)
   branches/release/libs/detail/ (props changed)
   branches/release/libs/function/ (props changed)
   branches/release/libs/functional/ (props changed)
   branches/release/libs/fusion/ (props changed)
   branches/release/libs/geometry/ (props changed)
   branches/release/libs/geometry/doc/ (props changed)
   branches/release/libs/geometry/doc/Jamfile.v2 (props changed)
   branches/release/libs/geometry/doc/about_documentation.qbk (props changed)
   branches/release/libs/geometry/doc/acknowledgments.qbk (props changed)
   branches/release/libs/geometry/doc/compiling.qbk (props changed)
   branches/release/libs/geometry/doc/concept/ (props changed)
   branches/release/libs/geometry/doc/copyright_note_policy.txt (props changed)
   branches/release/libs/geometry/doc/design_rationale.qbk (props changed)
   branches/release/libs/geometry/doc/doxy/ (props changed)
   branches/release/libs/geometry/doc/generated/ (props changed)
   branches/release/libs/geometry/doc/geometry.qbk (props changed)
   branches/release/libs/geometry/doc/html/ (props changed)
   branches/release/libs/geometry/doc/imports.qbk (props changed)
   branches/release/libs/geometry/doc/introduction.qbk (props changed)
   branches/release/libs/geometry/doc/make_qbk.py (props changed)
   branches/release/libs/geometry/doc/matrix.qbk (props changed)
   branches/release/libs/geometry/doc/quickref.xml (props changed)
   branches/release/libs/geometry/doc/quickstart.qbk (props changed)
   branches/release/libs/geometry/doc/readme.txt (props changed)
   branches/release/libs/geometry/doc/reference/ (props changed)
   branches/release/libs/geometry/doc/reference.qbk (props changed)
   branches/release/libs/geometry/doc/release_notes.qbk (props changed)
   branches/release/libs/geometry/doc/src/ (props changed)
   branches/release/libs/geometry/example/ (props changed)
   branches/release/libs/geometry/index.html (props changed)
   branches/release/libs/geometry/test/ (props changed)
   branches/release/libs/graph/doc/ (props changed)
   branches/release/libs/graph_parallel/ (props changed)
   branches/release/libs/icl/ (props changed)
   branches/release/libs/icl/doc/ (props changed)
   branches/release/libs/icl/doc/html/ (props changed)
   branches/release/libs/icl/doc/html/header/boost/icl/ (props changed)
   branches/release/libs/icl/test/ (props changed)
   branches/release/libs/icl/test/test_doc_code_/ (props changed)
   branches/release/libs/io/ (props changed)
   branches/release/libs/io/doc/ (props changed)
   branches/release/libs/iostreams/ (props changed)
   branches/release/libs/iterator/ (props changed)
   branches/release/libs/libraries.htm (props changed)
   branches/release/libs/maintainers.txt (props changed)
   branches/release/libs/mpi/build/ (props changed)
   branches/release/libs/mpl/doc/refmanual/broken-compiler-workarounds.html (props changed)
   branches/release/libs/mpl/doc/refmanual/categorized-index-concepts.html (props changed)
   branches/release/libs/mpl/doc/refmanual/cfg-no-preprocessed-headers.html (props changed)
   branches/release/libs/mpl/doc/refmanual/composition-and-argument-binding.html (props changed)
   branches/release/libs/mpl/doc/refmanual/data-types-concepts.html (props changed)
   branches/release/libs/mpl/doc/refmanual/data-types-miscellaneous.html (props changed)
   branches/release/libs/mpl/doc/refmanual/extensible-associative-sequence.html (props changed)
   branches/release/libs/mpl/doc/refmanual/inserter-class.html (props changed)
   branches/release/libs/mpl/doc/refmanual/tag-dispatched-metafunction.html (props changed)
   branches/release/libs/mpl/doc/refmanual/trivial-metafunctions-summary.html (props changed)
   branches/release/libs/mpl/doc/src/refmanual/Iterators-Iterator.rst (props changed)
   branches/release/libs/msm/ (props changed)
   branches/release/libs/numeric/ublas/ (props changed)
   branches/release/libs/numeric/ublas/doc/ (props changed)
   branches/release/libs/parameter/doc/html/index.html (props changed)
   branches/release/libs/phoenix/doc/basics.qbk (props changed)
   branches/release/libs/phoenix/doc/examples/extending_actors.qbk (props changed)
   branches/release/libs/phoenix/doc/organisation.qbk (props changed)
   branches/release/libs/pool/ (props changed)
   branches/release/libs/preprocessor/ (props changed)
   branches/release/libs/program_options/ (props changed)
   branches/release/libs/property_tree/ (props changed)
   branches/release/libs/python/ (props changed)
   branches/release/libs/range/ (props changed)
   branches/release/libs/ratio/ (props changed)
   branches/release/libs/serialization/ (props changed)
   branches/release/libs/serialization/example/ (props changed)
   branches/release/libs/serialization/src/ (props changed)
   branches/release/libs/serialization/test/test_diamond_complex.cpp (props changed)
   branches/release/libs/signals/ (props changed)
   branches/release/libs/signals2/ (props changed)
   branches/release/libs/signals2/doc/ (props changed)
   branches/release/libs/spirit/ (props changed)
   branches/release/libs/spirit/classic/example/ (props changed)
   branches/release/libs/spirit/doc/ (props changed)
   branches/release/libs/spirit/example/ (props changed)
   branches/release/libs/spirit/phoenix/ (props changed)
   branches/release/libs/spirit/test/ (props changed)
   branches/release/libs/spirit/test/qi/optional.cpp (props changed)
   branches/release/libs/statechart/ (props changed)
   branches/release/libs/static_assert/ (props changed)
   branches/release/libs/timer/ (props changed)
   branches/release/libs/tr1/ (props changed)
   branches/release/libs/typeof/doc/typeof.qbk (props changed)
   branches/release/libs/unordered/ (props changed)
   branches/release/libs/utility/ (props changed)
   branches/release/libs/utility/assert.html (props changed)
   branches/release/libs/utility/assert_test.cpp (props changed)
   branches/release/libs/utility/swap.html (props changed)
   branches/release/libs/utility/swap/test/std_bitset.cpp (props changed)
   branches/release/libs/utility/value_init.htm (props changed)
   branches/release/libs/utility/value_init_test.cpp (props changed)
   branches/release/libs/uuid/ (props changed)
   branches/release/libs/wave/ (props changed)
   branches/release/more/ (props changed)
   branches/release/rst.css (props changed)
   branches/release/status/ (props changed)
   branches/release/status/Jamfile.v2 (props changed)
   branches/release/status/expected_results.xml (props changed)
   branches/release/status/explicit-failures-markup.xml (props changed)
   branches/release/status/explicit-failures.xsd (props changed)
   branches/release/tools/ (props changed)
   branches/release/tools/bcp/ (props changed)
   branches/release/tools/boostbook/ (props changed)
   branches/release/tools/build/v2/ (props changed)
   branches/release/tools/inspect/ (props changed)
   branches/release/tools/quickbook/ (props changed)
   branches/release/tools/regression/ (props changed)
   branches/release/tools/regression/src/library_status.cpp (props changed)
   branches/release/tools/release/ (props changed)
   branches/release/tools/wave/ (props changed)
Text files modified:
   branches/release/boost/graph/adjacency_list.hpp | 12 +++---
   branches/release/boost/graph/bron_kerbosch_all_cliques.hpp | 1
   branches/release/boost/graph/chrobak_payne_drawing.hpp | 1
   branches/release/boost/graph/clustering_coefficient.hpp | 2
   branches/release/boost/graph/compressed_sparse_row_graph.hpp | 14 ++++----
   branches/release/boost/graph/detail/adjacency_list.hpp | 35 +++++++++-------------
   branches/release/boost/graph/detail/compressed_sparse_row_struct.hpp | 1
   branches/release/boost/graph/directed_graph.hpp | 1
   branches/release/boost/graph/eccentricity.hpp | 2
   branches/release/boost/graph/graph_archetypes.hpp | 6 +++
   branches/release/boost/graph/graph_test.hpp | 10 +++---
   branches/release/boost/graph/graphviz.hpp | 1
   branches/release/boost/graph/is_kuratowski_subgraph.hpp | 5 +-
   branches/release/boost/graph/is_straight_line_drawing.hpp | 2
   branches/release/boost/graph/isomorphism.hpp | 15 ++++++++-
   branches/release/boost/graph/make_connected.hpp | 2
   branches/release/boost/graph/matrix_as_graph.hpp | 2
   branches/release/boost/graph/max_cardinality_matching.hpp | 1
   branches/release/boost/graph/named_function_params.hpp | 10 +++++-
   branches/release/boost/graph/planar_canonical_ordering.hpp | 2
   branches/release/boost/graph/planar_detail/boyer_myrvold_impl.hpp | 2
   branches/release/boost/graph/planar_face_traversal.hpp | 5 ++
   branches/release/boost/graph/reverse_graph.hpp | 54 ++++++++++++++++++++++++++--------
   branches/release/boost/graph/stanford_graph.hpp | 8 +++-
   branches/release/boost/graph/stoer_wagner_min_cut.hpp | 6 ++-
   branches/release/boost/graph/subgraph.hpp | 14 +++++++-
   branches/release/boost/graph/undirected_graph.hpp | 1
   branches/release/boost/graph/vector_as_graph.hpp | 1
   branches/release/boost/property_map/dynamic_property_map.hpp | 62 +++++++++++++--------------------------
   branches/release/libs/graph/doc/prim_minimum_spanning_tree.html | 13 ++++---
   branches/release/libs/graph/example/Jamfile.v2 | 3 +
   branches/release/libs/graph/example/astar_maze.cpp | 2
   branches/release/libs/graph/example/strong_components.cpp | 15 +++++----
   branches/release/libs/graph/test/stoer_wagner_test.cpp | 8 +++-
   34 files changed, 181 insertions(+), 138 deletions(-)

Modified: branches/release/boost/graph/adjacency_list.hpp
==============================================================================
--- branches/release/boost/graph/adjacency_list.hpp (original)
+++ branches/release/boost/graph/adjacency_list.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -502,20 +502,20 @@
 #define ADJLIST adjacency_list<OEL,VL,D,VP,EP,GP,EL>
 
   template<ADJLIST_PARAMS, typename Tag, typename Value>
- inline void set_property(ADJLIST& g, Tag, Value const& value) {
- get_property_value(*g.m_property, Tag()) = value;
+ inline void set_property(ADJLIST& g, Tag tag, Value const& value) {
+ get_property_value(*g.m_property, tag) = value;
   }
 
   template<ADJLIST_PARAMS, typename Tag>
   inline typename graph_property<ADJLIST, Tag>::type&
- get_property(ADJLIST& g, Tag) {
- return get_property_value(*g.m_property, Tag());
+ get_property(ADJLIST& g, Tag tag) {
+ return get_property_value(*g.m_property, tag);
   }
 
   template<ADJLIST_PARAMS, typename Tag>
   inline typename graph_property<ADJLIST, Tag>::type const&
- get_property(ADJLIST const& g, Tag) {
- return get_property_value(*g.m_property, Tag());
+ get_property(ADJLIST const& g, Tag tag) {
+ return get_property_value(*g.m_property, tag);
   }
 
   // dwa 09/25/00 - needed to be more explicit so reverse_graph would work.

Modified: branches/release/boost/graph/bron_kerbosch_all_cliques.hpp
==============================================================================
--- branches/release/boost/graph/bron_kerbosch_all_cliques.hpp (original)
+++ branches/release/boost/graph/bron_kerbosch_all_cliques.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -270,7 +270,6 @@
 {
     BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<Graph> ));
     BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
- BOOST_CONCEPT_ASSERT(( VertexIndexGraphConcept<Graph> ));
     BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept<Graph> )); // Structural requirement only
     typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
     typedef typename graph_traits<Graph>::vertex_iterator VertexIterator;

Modified: branches/release/boost/graph/chrobak_payne_drawing.hpp
==============================================================================
--- branches/release/boost/graph/chrobak_payne_drawing.hpp (original)
+++ branches/release/boost/graph/chrobak_payne_drawing.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -13,7 +13,6 @@
 #include <list>
 #include <stack>
 #include <boost/config.hpp>
-#include <boost/utility.hpp> //for next and prior
 #include <boost/graph/graph_traits.hpp>
 #include <boost/property_map/property_map.hpp>
 

Modified: branches/release/boost/graph/clustering_coefficient.hpp
==============================================================================
--- branches/release/boost/graph/clustering_coefficient.hpp (original)
+++ branches/release/boost/graph/clustering_coefficient.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -7,7 +7,7 @@
 #ifndef BOOST_GRAPH_CLUSTERING_COEFFICIENT_HPP
 #define BOOST_GRAPH_CLUSTERING_COEFFICIENT_HPP
 
-#include <boost/utility.hpp>
+#include <boost/next_prior.hpp>
 #include <boost/graph/graph_traits.hpp>
 #include <boost/graph/graph_concepts.hpp>
 #include <boost/graph/lookup_edge.hpp>

Modified: branches/release/boost/graph/compressed_sparse_row_graph.hpp
==============================================================================
--- branches/release/boost/graph/compressed_sparse_row_graph.hpp (original)
+++ branches/release/boost/graph/compressed_sparse_row_graph.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -41,7 +41,7 @@
 #include <boost/graph/properties.hpp>
 #include <boost/static_assert.hpp>
 #include <boost/functional/hash.hpp>
-#include <boost/utility.hpp>
+#include <boost/next_prior.hpp>
 
 #ifdef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
 # error The Compressed Sparse Row graph only supports bundled properties.
@@ -1382,26 +1382,26 @@
 // Graph properties
 template<BOOST_CSR_GRAPH_TEMPLATE_PARMS, class Tag, class Value>
 inline void
-set_property(BOOST_CSR_GRAPH_TYPE& g, Tag, const Value& value)
+set_property(BOOST_CSR_GRAPH_TYPE& g, Tag tag, const Value& value)
 {
- get_property_value(g.m_property, Tag()) = value;
+ get_property_value(g.m_property, tag) = value;
 }
 
 template<BOOST_CSR_GRAPH_TEMPLATE_PARMS, class Tag>
 inline
 typename graph_property<BOOST_CSR_GRAPH_TYPE, Tag>::type&
-get_property(BOOST_CSR_GRAPH_TYPE& g, Tag)
+get_property(BOOST_CSR_GRAPH_TYPE& g, Tag tag)
 {
- return get_property_value(g.m_property, Tag());
+ return get_property_value(g.m_property, tag);
 }
 
 template<BOOST_CSR_GRAPH_TEMPLATE_PARMS, class Tag>
 inline
 const
 typename graph_property<BOOST_CSR_GRAPH_TYPE, Tag>::type&
-get_property(const BOOST_CSR_GRAPH_TYPE& g, Tag)
+get_property(const BOOST_CSR_GRAPH_TYPE& g, Tag tag)
 {
- return get_property_value(g.m_property, Tag());
+ return get_property_value(g.m_property, tag);
 }
 
 template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>

Modified: branches/release/boost/graph/detail/adjacency_list.hpp
==============================================================================
--- branches/release/boost/graph/detail/adjacency_list.hpp (original)
+++ branches/release/boost/graph/detail/adjacency_list.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -727,8 +727,10 @@
 
           typename Config::OutEdgeList& out_el = g.out_edge_list(source(e, g));
           typename Config::OutEdgeList::iterator out_i = out_el.begin();
+ typename Config::EdgeIter edge_iter_to_erase;
           for (; out_i != out_el.end(); ++out_i)
             if (&(*out_i).get_property() == &p) {
+ edge_iter_to_erase = (*out_i).get_iter();
               out_el.erase(out_i);
               break;
             }
@@ -736,10 +738,10 @@
           typename Config::OutEdgeList::iterator in_i = in_el.begin();
           for (; in_i != in_el.end(); ++in_i)
             if (&(*in_i).get_property() == &p) {
- g.m_edges.erase((*in_i).get_iter());
               in_el.erase(in_i);
- return;
+ break;
             }
+ g.m_edges.erase(edge_iter_to_erase);
         }
       };
 
@@ -760,8 +762,10 @@
           no_property* p = (no_property*)e.get_property();
           typename Config::OutEdgeList& out_el = g.out_edge_list(source(e, g));
           typename Config::OutEdgeList::iterator out_i = out_el.begin();
+ typename Config::EdgeIter edge_iter_to_erase;
           for (; out_i != out_el.end(); ++out_i)
             if (&(*out_i).get_property() == p) {
+ edge_iter_to_erase = (*out_i).get_iter();
               out_el.erase(out_i);
               break;
             }
@@ -769,10 +773,10 @@
           typename Config::OutEdgeList::iterator in_i = in_el.begin();
           for (; in_i != in_el.end(); ++in_i)
             if (&(*in_i).get_property() == p) {
- g.m_edges.erase((*in_i).get_iter());
               in_el.erase(in_i);
- return;
+ break;
             }
+ g.m_edges.erase(edge_iter_to_erase);
         }
       };
 
@@ -811,6 +815,7 @@
 
         typedef typename EdgeList::value_type StoredEdge;
         typename EdgeList::iterator i = el.find(StoredEdge(v)), end = el.end();
+ BOOST_ASSERT ((i != end));
         if (i != end) {
           g.m_edges.erase((*i).get_iter());
           el.erase(i);
@@ -991,24 +996,12 @@
       typedef typename Config::graph_type graph_type;
       typedef typename Config::edge_parallel_category Cat;
       graph_type& g = static_cast<graph_type&>(g_);
- typename Config::OutEdgeList& el = g.out_edge_list(u);
- typename Config::OutEdgeList::iterator
- ei = el.begin(), ei_end = el.end();
- for (; ei != ei_end; /* Increment below */ ) {
- bool is_self_loop = (*ei).get_target() == u;
- // Don't erase from our own incidence list in the case of a self-loop
- // since we're clearing it anyway.
- if (!is_self_loop) {
- detail::erase_from_incidence_list
- (g.out_edge_list((*ei).get_target()), u, Cat());
- typename Config::OutEdgeList::iterator ei_copy = ei;
- ++ei;
- if (!is_self_loop) g.m_edges.erase((*ei_copy).get_iter());
- } else {
- ++ei;
- }
+ while (true) {
+ typename Config::out_edge_iterator ei, ei_end;
+ boost::tie(ei, ei_end) = out_edges(u, g);
+ if (ei == ei_end) break;
+ remove_edge(*ei, g);
       }
- g.out_edge_list(u).clear();
     }
     // O(1) for allow_parallel_edge_tag
     // O(log(E/V)) for disallow_parallel_edge_tag

Modified: branches/release/boost/graph/detail/compressed_sparse_row_struct.hpp
==============================================================================
--- branches/release/boost/graph/detail/compressed_sparse_row_struct.hpp (original)
+++ branches/release/boost/graph/detail/compressed_sparse_row_struct.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -44,7 +44,6 @@
 #include <boost/graph/graph_selectors.hpp>
 #include <boost/static_assert.hpp>
 #include <boost/functional/hash.hpp>
-#include <boost/utility.hpp>
 
 namespace boost {
 

Modified: branches/release/boost/graph/directed_graph.hpp
==============================================================================
--- branches/release/boost/graph/directed_graph.hpp (original)
+++ branches/release/boost/graph/directed_graph.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -7,7 +7,6 @@
 #ifndef BOOST_GRAPH_DIRECTED_GRAPH_HPP
 #define BOOST_GRAPH_DIRECTED_GRAPH_HPP
 
-#include <boost/utility.hpp>
 #include <boost/graph/adjacency_list.hpp>
 #include <boost/graph/properties.hpp>
 

Modified: branches/release/boost/graph/eccentricity.hpp
==============================================================================
--- branches/release/boost/graph/eccentricity.hpp (original)
+++ branches/release/boost/graph/eccentricity.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -7,7 +7,7 @@
 #ifndef BOOST_GRAPH_ECCENTRICITY_HPP
 #define BOOST_GRAPH_ECCENTRICITY_HPP
 
-#include <boost/utility.hpp>
+#include <boost/next_prior.hpp>
 #include <boost/config.hpp>
 #include <boost/graph/detail/geodesic.hpp>
 #include <boost/concept/assert.hpp>

Modified: branches/release/boost/graph/graph_archetypes.hpp
==============================================================================
--- branches/release/boost/graph/graph_archetypes.hpp (original)
+++ branches/release/boost/graph/graph_archetypes.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -53,6 +53,8 @@
     typedef void in_edge_iterator;
     typedef void vertex_iterator;
     typedef void edge_iterator;
+
+ static vertex_descriptor null_vertex() {return vertex_descriptor();}
   };
   template <typename V, typename D, typename P, typename B>
   V source(const typename incidence_graph_archetype<V,D,P,B>::edge_descriptor&,
@@ -105,6 +107,8 @@
     typedef void out_edge_iterator;
     typedef void vertex_iterator;
     typedef void edge_iterator;
+
+ static vertex_descriptor null_vertex() {return vertex_descriptor();}
   };
   
   template <typename V, typename D, typename P, typename B>
@@ -154,6 +158,8 @@
 
     typedef void in_edge_iterator;
     typedef void edge_iterator;
+
+ static vertex_descriptor null_vertex() {return vertex_descriptor();}
   };
   
   template <typename V, typename D, typename P, typename B>

Modified: branches/release/boost/graph/graph_test.hpp
==============================================================================
--- branches/release/boost/graph/graph_test.hpp (original)
+++ branches/release/boost/graph/graph_test.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -325,10 +325,10 @@
 
     template <typename PropVal, typename PropertyTag>
     void test_readable_vertex_property_graph
- (const std::vector<PropVal>& vertex_prop, PropertyTag, const Graph& g)
+ (const std::vector<PropVal>& vertex_prop, PropertyTag tag, const Graph& g)
     {
       typedef typename property_map<Graph, PropertyTag>::const_type const_Map;
- const_Map pmap = get(PropertyTag(), g);
+ const_Map pmap = get(tag, g);
       typename std::vector<PropVal>::const_iterator i = vertex_prop.begin();
 
   for (typename boost::graph_traits<Graph>::vertex_iterator
@@ -339,7 +339,7 @@
          ++bgl_first_9) {
       //BGL_FORALL_VERTICES_T(v, g, Graph) {
         typename property_traits<const_Map>::value_type
- pval1 = get(pmap, v), pval2 = get(PropertyTag(), g, v);
+ pval1 = get(pmap, v), pval2 = get(tag, g, v);
         BOOST_CHECK(pval1 == pval2);
         BOOST_CHECK(pval1 == *i++);
       }
@@ -350,7 +350,7 @@
       (const std::vector<PropVal>& vertex_prop, PropertyTag tag, Graph& g)
     {
       typedef typename property_map<Graph, PropertyTag>::type PMap;
- PMap pmap = get(PropertyTag(), g);
+ PMap pmap = get(tag, g);
       typename std::vector<PropVal>::const_iterator i = vertex_prop.begin();
   for (typename boost::graph_traits<Graph>::vertex_iterator
            bgl_first_9 = vertices(g).first, bgl_last_9 = vertices(g).second;
@@ -368,7 +368,7 @@
       
       typename std::vector<PropVal>::const_iterator j = vertex_prop.begin();
       BGL_FORALL_VERTICES_T(v, g, Graph)
- put(PropertyTag(), g, v, *j++);
+ put(tag, g, v, *j++);
       
       test_readable_vertex_property_graph(vertex_prop, tag, g);
     }

Modified: branches/release/boost/graph/graphviz.hpp
==============================================================================
--- branches/release/boost/graph/graphviz.hpp (original)
+++ branches/release/boost/graph/graphviz.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -29,6 +29,7 @@
 #include <boost/lexical_cast.hpp>
 #include <boost/algorithm/string/replace.hpp>
 #include <boost/xpressive/xpressive_static.hpp>
+#include <boost/foreach.hpp>
 
 namespace boost {
 

Modified: branches/release/boost/graph/is_kuratowski_subgraph.hpp
==============================================================================
--- branches/release/boost/graph/is_kuratowski_subgraph.hpp (original)
+++ branches/release/boost/graph/is_kuratowski_subgraph.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -9,7 +9,6 @@
 #define __IS_KURATOWSKI_SUBGRAPH_HPP__
 
 #include <boost/config.hpp>
-#include <boost/utility.hpp> //for next/prior
 #include <boost/tuple/tuple.hpp> //for tie
 #include <boost/property_map/property_map.hpp>
 #include <boost/graph/properties.hpp>
@@ -301,11 +300,11 @@
     
     if (target_graph == detail::tg_k_5)
       {
- return isomorphism(K_5,contracted_graph);
+ return boost::isomorphism(K_5,contracted_graph);
       }
     else //target_graph == tg_k_3_3
       {
- return isomorphism(K_3_3,contracted_graph);
+ return boost::isomorphism(K_3_3,contracted_graph);
       }
     
     

Modified: branches/release/boost/graph/is_straight_line_drawing.hpp
==============================================================================
--- branches/release/boost/graph/is_straight_line_drawing.hpp (original)
+++ branches/release/boost/graph/is_straight_line_drawing.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -9,7 +9,7 @@
 #define __IS_STRAIGHT_LINE_DRAWING_HPP__
 
 #include <boost/config.hpp>
-#include <boost/utility.hpp> //for next and prior
+#include <boost/next_prior.hpp>
 #include <boost/tuple/tuple.hpp>
 #include <boost/tuple/tuple_comparison.hpp>
 #include <boost/property_map/property_map.hpp>

Modified: branches/release/boost/graph/isomorphism.hpp
==============================================================================
--- branches/release/boost/graph/isomorphism.hpp (original)
+++ branches/release/boost/graph/isomorphism.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -11,9 +11,9 @@
 #include <iterator>
 #include <algorithm>
 #include <boost/config.hpp>
+#include <boost/assert.hpp>
 #include <boost/smart_ptr.hpp>
 #include <boost/graph/depth_first_search.hpp>
-#include <boost/utility.hpp>
 #include <boost/detail/algorithm.hpp>
 #include <boost/pending/indirect_cmp.hpp> // for make_indirect_pmap
 #include <boost/concept/assert.hpp>
@@ -135,6 +135,10 @@
     
       bool test_isomorphism()
       {
+ // reset isomapping
+ BGL_FORALL_VERTICES_T(v, G1, Graph1)
+ f[v] = graph_traits<Graph2>::null_vertex();
+
         {
           std::vector<invar1_value> invar1_array;
           BGL_FORALL_VERTICES_T(v, G1, Graph1)
@@ -309,7 +313,14 @@
             case match_continuation::pos_G2_vertex_loop: {G2_verts = this_k.G2_verts; iter = this_k.iter; dfs_num_k = this_k.dfs_num_k; k.pop_back(); in_S[*G2_verts.first] = false; i = source(*iter, G1); j = target(*iter, G2); goto G2_loop_k;}
             case match_continuation::pos_fi_adj_loop: {fi_adj = this_k.fi_adj; iter = this_k.iter; dfs_num_k = this_k.dfs_num_k; k.pop_back(); in_S[*fi_adj.first] = false; i = source(*iter, G1); j = target(*iter, G2); goto fi_adj_loop_k;}
             case match_continuation::pos_dfs_num: {k.pop_back(); goto return_point_false;}
- default: assert (!"Bad position"); abort();
+ default: {
+ BOOST_ASSERT(!"Bad position");
+#ifdef UNDER_CE
+ exit(-1);
+#else
+ abort();
+#endif
+ }
           }
         }
       }

Modified: branches/release/boost/graph/make_connected.hpp
==============================================================================
--- branches/release/boost/graph/make_connected.hpp (original)
+++ branches/release/boost/graph/make_connected.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -9,7 +9,7 @@
 #define __MAKE_CONNECTED_HPP__
 
 #include <boost/config.hpp>
-#include <boost/utility.hpp> //for next
+#include <boost/next_prior.hpp>
 #include <boost/tuple/tuple.hpp> //for tie
 #include <boost/graph/connected_components.hpp>
 #include <boost/property_map/property_map.hpp>

Modified: branches/release/boost/graph/matrix_as_graph.hpp
==============================================================================
--- branches/release/boost/graph/matrix_as_graph.hpp (original)
+++ branches/release/boost/graph/matrix_as_graph.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -14,7 +14,7 @@
 #include <utility>
 #include <boost/config.hpp>
 #include <boost/operators.hpp>
-#include <boost/int_iterator.hpp>
+#include <boost/pending/detail/int_iterator.hpp>
 #include <boost/graph/graph_traits.hpp>
 
 namespace boost {

Modified: branches/release/boost/graph/max_cardinality_matching.hpp
==============================================================================
--- branches/release/boost/graph/max_cardinality_matching.hpp (original)
+++ branches/release/boost/graph/max_cardinality_matching.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -16,7 +16,6 @@
 #include <algorithm> // for std::sort and std::stable_sort
 #include <utility> // for std::pair
 #include <boost/property_map/property_map.hpp>
-#include <boost/utility.hpp> // for boost::tie
 #include <boost/graph/graph_traits.hpp>
 #include <boost/graph/visitors.hpp>
 #include <boost/graph/depth_first_search.hpp>

Modified: branches/release/boost/graph/named_function_params.hpp
==============================================================================
--- branches/release/boost/graph/named_function_params.hpp (original)
+++ branches/release/boost/graph/named_function_params.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -15,9 +15,8 @@
 #include <boost/ref.hpp>
 #include <boost/parameter/name.hpp>
 #include <boost/parameter/binding.hpp>
-#include <boost/type_traits/is_same.hpp>
+#include <boost/type_traits.hpp>
 #include <boost/mpl/not.hpp>
-#include <boost/type_traits/add_reference.hpp>
 #include <boost/graph/properties.hpp>
 #include <boost/graph/detail/d_ary_heap.hpp>
 #include <boost/property_map/property_map.hpp>
@@ -609,6 +608,13 @@
 
       make_priority_queue_from_arg_pack_gen(KeyT defaultKey_) : defaultKey(defaultKey_) { }
 
+ template <class F>
+ struct result {
+ typedef typename remove_const<typename remove_reference<typename function_traits<F>::arg1_type>::type>::type graph_type;
+ typedef typename remove_const<typename remove_reference<typename function_traits<F>::arg2_type>::type>::type arg_pack_type;
+ typedef typename priority_queue_maker<graph_type, arg_pack_type, KeyT, ValueT, PriorityQueueTag, KeyMapTag, IndexInHeapMapTag, Compare>::priority_queue_type type;
+ };
+
       template <class Graph, class ArgPack>
       typename priority_queue_maker<Graph, ArgPack, KeyT, ValueT, PriorityQueueTag, KeyMapTag, IndexInHeapMapTag, Compare>::priority_queue_type
       operator()(const Graph& g, const ArgPack& ap) const {

Modified: branches/release/boost/graph/planar_canonical_ordering.hpp
==============================================================================
--- branches/release/boost/graph/planar_canonical_ordering.hpp (original)
+++ branches/release/boost/graph/planar_canonical_ordering.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -12,7 +12,7 @@
 #include <vector>
 #include <list>
 #include <boost/config.hpp>
-#include <boost/utility.hpp> //for next and prior
+#include <boost/next_prior.hpp>
 #include <boost/graph/graph_traits.hpp>
 #include <boost/property_map/property_map.hpp>
 

Modified: branches/release/boost/graph/planar_detail/boyer_myrvold_impl.hpp
==============================================================================
--- branches/release/boost/graph/planar_detail/boyer_myrvold_impl.hpp (original)
+++ branches/release/boost/graph/planar_detail/boyer_myrvold_impl.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -10,7 +10,7 @@
 
 #include <vector>
 #include <list>
-#include <boost/utility.hpp> //for boost::next
+#include <boost/next_prior.hpp>
 #include <boost/config.hpp> //for std::min macros
 #include <boost/shared_ptr.hpp>
 #include <boost/tuple/tuple.hpp>

Modified: branches/release/boost/graph/planar_face_traversal.hpp
==============================================================================
--- branches/release/boost/graph/planar_face_traversal.hpp (original)
+++ branches/release/boost/graph/planar_face_traversal.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -10,8 +10,11 @@
 #define __PLANAR_FACE_TRAVERSAL_HPP__
 
 #include <vector>
-#include <boost/utility.hpp> //for next and prior
+#include <set>
+#include <map>
+#include <boost/next_prior.hpp>
 #include <boost/graph/graph_traits.hpp>
+#include <boost/graph/properties.hpp>
 
 
 namespace boost

Modified: branches/release/boost/graph/reverse_graph.hpp
==============================================================================
--- branches/release/boost/graph/reverse_graph.hpp (original)
+++ branches/release/boost/graph/reverse_graph.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -105,6 +105,7 @@
     typedef graph_traits<BidirectionalGraph> Traits;
  public:
     typedef BidirectionalGraph base_type;
+ typedef GraphRef base_ref_type;
 
     // Constructor
     reverse_graph(GraphRef g) : m_g(g) {}
@@ -391,14 +392,18 @@
 };
 
 template <class BidirGraph, class GRef, class Property>
-typename property_map<reverse_graph<BidirGraph,GRef>, Property>::type
+typename disable_if<
+ is_same<Property, edge_underlying_t>,
+ typename property_map<reverse_graph<BidirGraph,GRef>, Property>::type>::type
 get(Property p, reverse_graph<BidirGraph,GRef>& g)
 {
   return typename property_map<reverse_graph<BidirGraph,GRef>, Property>::type(get(p, g.m_g));
 }
 
 template <class BidirGraph, class GRef, class Property>
-typename property_map<reverse_graph<BidirGraph,GRef>, Property>::const_type
+typename disable_if<
+ is_same<Property, edge_underlying_t>,
+ typename property_map<reverse_graph<BidirGraph,GRef>, Property>::const_type>::type
 get(Property p, const reverse_graph<BidirGraph,GRef>& g)
 {
   const BidirGraph& gref = g.m_g; // in case GRef is non-const
@@ -406,9 +411,11 @@
 }
 
 template <class BidirectionalGraph, class GRef, class Property, class Key>
-typename property_traits<
- typename property_map<BidirectionalGraph, Property>::const_type
->::value_type
+typename disable_if<
+ is_same<Property, edge_underlying_t>,
+ typename property_traits<
+ typename property_map<reverse_graph<BidirectionalGraph, GRef>, Property>::const_type
+ >::value_type>::type
 get(Property p, const reverse_graph<BidirectionalGraph,GRef>& g, const Key& k)
 {
   return get(get(p, g), k);
@@ -459,19 +466,40 @@
   typedef detail::underlying_edge_desc_map_type<ed> const_type;
 };
 
-template <class Graph, class GRef>
-detail::underlying_edge_desc_map_type<typename graph_traits<Graph>::edge_descriptor>
+template <typename T> struct is_reverse_graph: boost::mpl::false_ {};
+template <typename G, typename R> struct is_reverse_graph<reverse_graph<G, R> >: boost::mpl::true_ {};
+
+template <class G>
+typename enable_if<is_reverse_graph<G>,
+ detail::underlying_edge_desc_map_type<typename graph_traits<typename G::base_type>::edge_descriptor> >::type
 get(edge_underlying_t,
- const reverse_graph<Graph,GRef>& g)
+ G& g)
 {
- return detail::underlying_edge_desc_map_type<typename graph_traits<Graph>::edge_descriptor>();
+ return detail::underlying_edge_desc_map_type<typename graph_traits<typename G::base_type>::edge_descriptor>();
 }
 
-template <class Graph, class GRef>
-typename graph_traits<Graph>::edge_descriptor
+template <class G>
+typename enable_if<is_reverse_graph<G>, typename graph_traits<typename G::base_type>::edge_descriptor>::type
+get(edge_underlying_t,
+ G& g,
+ const typename graph_traits<G>::edge_descriptor& k)
+{
+ return k.underlying_descx;
+}
+
+template <class G>
+typename enable_if<is_reverse_graph<G>, detail::underlying_edge_desc_map_type<typename graph_traits<typename G::base_type>::edge_descriptor> >::type
+get(edge_underlying_t,
+ const G& g)
+{
+ return detail::underlying_edge_desc_map_type<typename graph_traits<typename G::base_type>::edge_descriptor>();
+}
+
+template <class G>
+typename enable_if<is_reverse_graph<G>, typename graph_traits<typename G::base_type>::edge_descriptor>::type
 get(edge_underlying_t,
- const reverse_graph<Graph,GRef>& g,
- const typename graph_traits<reverse_graph<Graph, GRef> >::edge_descriptor& k)
+ const G& g,
+ const typename graph_traits<G>::edge_descriptor& k)
 {
   return k.underlying_descx;
 }

Modified: branches/release/boost/graph/stanford_graph.hpp
==============================================================================
--- branches/release/boost/graph/stanford_graph.hpp (original)
+++ branches/release/boost/graph/stanford_graph.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -318,13 +318,15 @@
   class sgb_vertex_util_map
     : public boost::put_get_helper<Ref, sgb_vertex_util_map<Tag, Ref> >
   {
+ Tag tag;
   public:
+ explicit sgb_vertex_util_map(Tag tag = Tag()): tag(tag) {}
     typedef boost::lvalue_property_map_tag category;
     typedef typename Tag::type value_type;
     typedef Vertex* key_type;
     typedef Ref reference;
     reference operator[](Vertex* v) const {
- return get_util_field(v, Tag());
+ return get_util_field(v, tag);
     }
   };
 
@@ -333,13 +335,15 @@
   class sgb_edge_util_map
     : public boost::put_get_helper<Ref, sgb_edge_util_map<Tag, Ref> >
   {
+ Tag tag;
   public:
+ explicit sgb_edge_util_map(Tag tag = Tag()): tag(tag) {}
     typedef boost::lvalue_property_map_tag category;
     typedef typename Tag::type value_type;
     typedef Vertex* key_type;
     typedef Ref reference;
     reference operator[](const sgb_edge& e) const {
- return get_util_field(e._arc, Tag());
+ return get_util_field(e._arc, tag);
     }
   };
 

Modified: branches/release/boost/graph/stoer_wagner_min_cut.hpp
==============================================================================
--- branches/release/boost/graph/stoer_wagner_min_cut.hpp (original)
+++ branches/release/boost/graph/stoer_wagner_min_cut.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -20,7 +20,7 @@
 #include <boost/graph/detail/d_ary_heap.hpp>
 #include <boost/property_map/property_map.hpp>
 #include <boost/tuple/tuple.hpp>
-#include <boost/typeof/typeof.hpp>
+#include <boost/utility/result_of.hpp>
 
 namespace boost {
   
@@ -218,7 +218,9 @@
     typedef boost::bgl_named_params<P, T, R> params_type;
     BOOST_GRAPH_DECLARE_CONVERTED_PARAMETERS(params_type, params)
     
- BOOST_AUTO(pq, (boost::detail::make_priority_queue_from_arg_pack_gen<boost::graph::keywords::tag::max_priority_queue, weight_type, vertex_descriptor, std::greater<weight_type> >(choose_param(get_param(params, boost::distance_zero_t()), weight_type(0)))(g, arg_pack)));
+ typedef boost::detail::make_priority_queue_from_arg_pack_gen<boost::graph::keywords::tag::max_priority_queue, weight_type, vertex_descriptor, std::greater<weight_type> > gen_type;
+ gen_type gen(choose_param(get_param(params, boost::distance_zero_t()), weight_type(0)));
+ typename boost::result_of<gen_type(const UndirectedGraph&, const arg_pack_type&)>::type pq = gen(g, arg_pack);
     
     return boost::detail::stoer_wagner_min_cut(g,
         weights,

Modified: branches/release/boost/graph/subgraph.hpp
==============================================================================
--- branches/release/boost/graph/subgraph.hpp (original)
+++ branches/release/boost/graph/subgraph.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -24,7 +24,9 @@
 
 #include <boost/static_assert.hpp>
 #include <boost/assert.hpp>
-#include <boost/type_traits/is_same.hpp>
+#include <boost/type_traits.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/or.hpp>
 
 namespace boost {
 
@@ -778,7 +780,10 @@
 {
     typedef property_traits<PropertyMap> Traits;
 public:
- typedef typename Traits::category category;
+ typedef typename mpl::if_<is_const<typename remove_pointer<GraphPtr>::type>,
+ readable_property_map_tag,
+ typename Traits::category>::type
+ category;
     typedef typename Traits::value_type value_type;
     typedef typename Traits::key_type key_type;
     typedef typename Traits::reference reference;
@@ -813,7 +818,10 @@
 {
     typedef property_traits<PropertyMap> Traits;
 public:
- typedef typename Traits::category category;
+ typedef typename mpl::if_<is_const<typename remove_pointer<GraphPtr>::type>,
+ readable_property_map_tag,
+ typename Traits::category>::type
+ category;
     typedef typename Traits::value_type value_type;
     typedef typename Traits::key_type key_type;
     typedef typename Traits::reference reference;

Modified: branches/release/boost/graph/undirected_graph.hpp
==============================================================================
--- branches/release/boost/graph/undirected_graph.hpp (original)
+++ branches/release/boost/graph/undirected_graph.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -7,7 +7,6 @@
 #ifndef BOOST_GRAPH_UNDIRECTED_GRAPH_HPP
 #define BOOST_GRAPH_UNDIRECTED_GRAPH_HPP
 
-#include <boost/utility.hpp>
 #include <boost/graph/adjacency_list.hpp>
 #include <boost/graph/properties.hpp>
 

Modified: branches/release/boost/graph/vector_as_graph.hpp
==============================================================================
--- branches/release/boost/graph/vector_as_graph.hpp (original)
+++ branches/release/boost/graph/vector_as_graph.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -79,6 +79,7 @@
     typedef typename std::vector<EdgeList>::size_type vertices_size_type;
     typedef void edges_size_type;
     typedef typename EdgeList::size_type degree_size_type;
+ static V null_vertex() {return V(-1);}
   };
   template <class EdgeList>
   struct edge_property_type< std::vector<EdgeList> >

Modified: branches/release/boost/property_map/dynamic_property_map.hpp
==============================================================================
--- branches/release/boost/property_map/dynamic_property_map.hpp (original)
+++ branches/release/boost/property_map/dynamic_property_map.hpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -117,6 +117,15 @@
 
 namespace detail {
 
+// Trying to work around VC++ problem that seems to relate to having too many
+// functions named "get"
+template <typename PMap, typename Key>
+typename boost::property_traits<PMap>::reference
+get_wrapper_xxx(const PMap& pmap, const Key& key) {
+ using boost::get;
+ return get(pmap, key);
+}
+
 //
 // dynamic_property_map_adaptor -
 // property-map adaptor to support runtime polymorphism.
@@ -135,32 +144,18 @@
   // can be converted to value_type via iostreams.
   void do_put(const any& in_key, const any& in_value, mpl::bool_<true>)
   {
-#if !(defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95))
     using boost::put;
-#endif
 
     key_type key = any_cast<key_type>(in_key);
     if (in_value.type() == typeid(value_type)) {
-#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95)
- boost::put(property_map, key, any_cast<value_type>(in_value));
-#else
- put(property_map, key, any_cast<value_type>(in_value));
-#endif
+ put(property_map_, key, any_cast<value_type>(in_value));
     } else {
       // if in_value is an empty string, put a default constructed value_type.
       std::string v = any_cast<std::string>(in_value);
       if (v.empty()) {
-#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95)
- boost::put(property_map, key, value_type());
-#else
- put(property_map, key, value_type());
-#endif
+ put(property_map_, key, value_type());
       } else {
-#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95)
- boost::put(property_map, key, detail::read_value<value_type>(v));
-#else
- put(property_map, key, detail::read_value<value_type>(v));
-#endif
+ put(property_map_, key, detail::read_value<value_type>(v));
       }
     }
   }
@@ -171,33 +166,19 @@
   }
 
 public:
- explicit dynamic_property_map_adaptor(const PropertyMap& property_map)
- : property_map(property_map) { }
+ explicit dynamic_property_map_adaptor(const PropertyMap& property_map_)
+ : property_map_(property_map_) { }
 
   virtual boost::any get(const any& key)
   {
-#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95)
- return boost::get(property_map, any_cast<key_type>(key));
-#else
- using boost::get;
-
- return get(property_map, any_cast<key_type>(key));
-#endif
+ return get_wrapper_xxx(property_map_, any_cast<key_type>(key));
   }
 
   virtual std::string get_string(const any& key)
   {
-#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95)
- std::ostringstream out;
- out << boost::get(property_map, any_cast<key_type>(key));
- return out.str();
-#else
- using boost::get;
-
     std::ostringstream out;
- out << get(property_map, any_cast<key_type>(key));
+ out << get_wrapper_xxx(property_map_, any_cast<key_type>(key));
     return out.str();
-#endif
   }
 
   virtual void put(const any& in_key, const any& in_value)
@@ -210,11 +191,11 @@
   virtual const std::type_info& key() const { return typeid(key_type); }
   virtual const std::type_info& value() const { return typeid(value_type); }
 
- PropertyMap& base() { return property_map; }
- const PropertyMap& base() const { return property_map; }
+ PropertyMap& base() { return property_map_; }
+ const PropertyMap& base() const { return property_map_; }
 
 private:
- PropertyMap property_map;
+ PropertyMap property_map_;
 };
 
 } // namespace detail
@@ -243,11 +224,10 @@
 
   template<typename PropertyMap>
   dynamic_properties&
- property(const std::string& name, PropertyMap property_map)
+ property(const std::string& name, PropertyMap property_map_)
   {
- // Tbd: exception safety
     boost::shared_ptr<dynamic_property_map> pm(
- new detail::dynamic_property_map_adaptor<PropertyMap>(property_map));
+ boost::make_shared<detail::dynamic_property_map_adaptor<PropertyMap> >(property_map_));
     property_maps.insert(property_maps_type::value_type(name, pm));
 
     return *this;

Modified: branches/release/libs/graph/doc/prim_minimum_spanning_tree.html
==============================================================================
--- branches/release/libs/graph/doc/prim_minimum_spanning_tree.html (original)
+++ branches/release/libs/graph/doc/prim_minimum_spanning_tree.html 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -172,7 +172,9 @@
   <a href="../../property_map/doc/ReadablePropertyMap.html">Readable Property Map</a>. The edge descriptor type of
   the graph needs to be usable as the key type for the weight
   map. The value type for the map must be
- <i>Addable</i> with the value type of the distance map.<br>
+ the same as the value type of the distance map, and that type must be <a
+ href="http://www.sgi.com/tech/stl/LessThanComparable.html">Less Than
+ Comparable</a>.<br>
   <b>Default:</b> <tt>get(edge_weight, g)</tt><br>
   <b>Python</b>: Must be an <tt>edge_double_map</tt> for the graph.<br>
   <b>Python default</b>: <tt>graph.get_edge_double_map("weight")</tt>
@@ -190,7 +192,7 @@
   <b>Default:</b> <tt>get(vertex_index, g)</tt>
     Note: if you use this default, make sure your graph has
     an internal <tt>vertex_index</tt> property. For example,
- <tt>adjacenty_list</tt> with <tt>VertexList=listS</tt> does
+ <tt>adjacency_list</tt> with <tt>VertexList=listS</tt> does
     not have an internal <tt>vertex_index</tt> property.
    <br>
   <b>Python</b>: Unsupported parameter.
@@ -204,10 +206,9 @@
   The type <tt>DistanceMap</tt> must be a model of <a
   href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write
   Property Map</a>. The vertex descriptor type of the
- graph needs to be usable as the key type of the distance map. The
- value type of the distance map must be <a
- href="http://www.sgi.com/tech/stl/LessThanComparable.html">Less Than
- Comparable</a>.<br>
+ graph needs to be usable as the key type of the distance map, and the value
+ type needs to be the same as the value type of the <tt>weight_map</tt>
+ argument.<br>
   <b>Default:</b> <a href="../../property_map/doc/iterator_property_map.html">
   <tt>iterator_property_map</tt></a> created from a
   <tt>std::vector</tt> of the <tt>WeightMap</tt>'s value type of size

Modified: branches/release/libs/graph/example/Jamfile.v2
==============================================================================
--- branches/release/libs/graph/example/Jamfile.v2 (original)
+++ branches/release/libs/graph/example/Jamfile.v2 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -33,3 +33,6 @@
 exe bfs-example : bfs-example.cpp ;
 exe bfs-example2 : bfs-example2.cpp ;
 exe dfs-example : dfs-example.cpp ;
+exe adjacency_list_io : adjacency_list_io.cpp ;
+exe strong_components : strong_components.cpp ../build//boost_graph ;
+exe strong-components : strong-components.cpp ;

Modified: branches/release/libs/graph/example/astar_maze.cpp
==============================================================================
--- branches/release/libs/graph/example/astar_maze.cpp (original)
+++ branches/release/libs/graph/example/astar_maze.cpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -221,7 +221,7 @@
       if (x == 0)
         output << BARRIER;
       // Put the character representing this point in the maze grid.
- vertex_descriptor u = {{x, y}};
+ vertex_descriptor u = {{x, vertices_size_type(y)}};
       if (m.solution_contains(u))
         output << ".";
       else if (m.has_barrier(u))

Modified: branches/release/libs/graph/example/strong_components.cpp
==============================================================================
--- branches/release/libs/graph/example/strong_components.cpp (original)
+++ branches/release/libs/graph/example/strong_components.cpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -46,22 +46,23 @@
   using namespace boost;
   const char* name = "abcdefghij";
 
- GraphvizDigraph G;
- read_graphviz("scc.dot", G);
+ adjacency_list<vecS, vecS, directedS> G;
+ dynamic_properties dp;
+ read_graphviz("scc.dot", G, dp);
 
   std::cout << "A directed graph:" << std::endl;
   print_graph(G, name);
   std::cout << std::endl;
 
- typedef graph_traits<GraphvizGraph>::vertex_descriptor Vertex;
+ typedef graph_traits<adjacency_list<vecS, vecS, directedS> >::vertex_descriptor Vertex;
     
   std::vector<int> component(num_vertices(G)), discover_time(num_vertices(G));
   std::vector<default_color_type> color(num_vertices(G));
   std::vector<Vertex> root(num_vertices(G));
- int num = strong_components(G, &component[0],
- root_map(&root[0]).
- color_map(&color[0]).
- discover_time_map(&discover_time[0]));
+ int num = strong_components(G, make_iterator_property_map(component.begin(), get(vertex_index, G)),
+ root_map(make_iterator_property_map(root.begin(), get(vertex_index, G))).
+ color_map(make_iterator_property_map(color.begin(), get(vertex_index, G))).
+ discover_time_map(make_iterator_property_map(discover_time.begin(), get(vertex_index, G))));
     
   std::cout << "Total number of components: " << num << std::endl;
   std::vector<int>::size_type i;

Modified: branches/release/libs/graph/test/stoer_wagner_test.cpp
==============================================================================
--- branches/release/libs/graph/test/stoer_wagner_test.cpp (original)
+++ branches/release/libs/graph/test/stoer_wagner_test.cpp 2012-05-26 14:56:37 EDT (Sat, 26 May 2012)
@@ -206,10 +206,12 @@
   boost::associative_property_map<std::map<vertex_descriptor, std::size_t> > components(component);
   BOOST_CHECK_EQUAL(boost::connected_components(g, components), 1U); // verify the connectedness assumption
   
- BOOST_AUTO(distances, (boost::make_shared_array_property_map(num_vertices(g), weight_type(0), get(boost::vertex_index, g))));
+ typedef boost::shared_array_property_map<weight_type, boost::property_map<undirected_graph, boost::vertex_index_t>::const_type> distances_type;
+ distances_type distances = boost::make_shared_array_property_map(num_vertices(g), weight_type(0), get(boost::vertex_index, g));
   typedef std::vector<vertex_descriptor>::size_type index_in_heap_type;
- BOOST_AUTO(indicesInHeap, (boost::make_shared_array_property_map(num_vertices(g), index_in_heap_type(-1), get(boost::vertex_index, g))));
- boost::d_ary_heap_indirect<vertex_descriptor, 22, BOOST_TYPEOF(indicesInHeap), BOOST_TYPEOF(distances), std::greater<weight_type> > pq(distances, indicesInHeap);
+ typedef boost::shared_array_property_map<index_in_heap_type, boost::property_map<undirected_graph, boost::vertex_index_t>::const_type> indicesInHeap_type;
+ indicesInHeap_type indicesInHeap = boost::make_shared_array_property_map(num_vertices(g), index_in_heap_type(-1), get(boost::vertex_index, g));
+ boost::d_ary_heap_indirect<vertex_descriptor, 22, indicesInHeap_type, distances_type, std::greater<weight_type> > pq(distances, indicesInHeap);
   
   int w = boost::stoer_wagner_min_cut(g, get(boost::edge_weight, g), boost::max_priority_queue(pq));
   BOOST_CHECK_EQUAL(w, 3407);


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