From a1d6cf2106f8b2aa51c05d107d260fcaa4eae8bb Mon Sep 17 00:00:00 2001 From: Jeremiah Willcock Date: Sun, 2 Aug 2009 02:46:12 +0000 Subject: [PATCH] Merged r55265, r55266, r55355, and r55356 from trunk, hopefully fixing VC++ problems; removed VC++ from csr_graph_test known failures for regression tests [SVN r55357] --- .../graph/compressed_sparse_row_graph.hpp | 44 +++++-------------- 1 file changed, 10 insertions(+), 34 deletions(-) diff --git a/include/boost/graph/compressed_sparse_row_graph.hpp b/include/boost/graph/compressed_sparse_row_graph.hpp index 03fb5cc3..0f9f3392 100644 --- a/include/boost/graph/compressed_sparse_row_graph.hpp +++ b/include/boost/graph/compressed_sparse_row_graph.hpp @@ -1687,27 +1687,23 @@ get(const csr_edge_index_map&, return key.idx; } -// Doing the right thing here (by unifying with vertex_index_t and -// edge_index_t) breaks GCC. -template -struct property_map +template +struct property_map +{ + typedef identity_property_map type; + typedef type const_type; +}; + +template +struct property_map { private: - typedef identity_property_map vertex_index_type; typedef typename graph_traits::edge_descriptor edge_descriptor; typedef csr_edge_index_map edge_index_type; - typedef typename mpl::if_, - edge_index_type, - detail::error_property_not_found>::type - edge_or_none; - public: - typedef typename mpl::if_, - vertex_index_type, - edge_or_none>::type type; - + typedef edge_index_type type; typedef type const_type; }; @@ -1743,26 +1739,6 @@ get(edge_index_t, const BOOST_CSR_GRAPH_TYPE&, return e.idx; } -// Support for bundled properties -template -struct property_map -{ -private: - typedef graph_traits traits; - typedef VertexProperty vertex_bundled; - typedef EdgeProperty edge_bundled; - typedef typename mpl::if_c<(detail::is_vertex_bundle::value), - typename traits::vertex_descriptor, - typename traits::edge_descriptor>::type - descriptor; - -public: - typedef bundle_property_map - type; - typedef bundle_property_map const_type; -}; - template inline typename property_map::type