Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r55265 - trunk/boost/graph
From: jewillco_at_[hidden]
Date: 2009-07-30 14:44:46


Author: jewillco
Date: 2009-07-29 12:33:59 EDT (Wed, 29 Jul 2009)
New Revision: 55265
URL: http://svn.boost.org/trac/boost/changeset/55265

Log:
Changing to explicit property specializations for vertex_index_t and edge_index_t to try to work around VC++ bugs
Text files modified:
   trunk/boost/graph/compressed_sparse_row_graph.hpp | 22 ++++++++++++++++++++++
   1 files changed, 22 insertions(+), 0 deletions(-)

Modified: trunk/boost/graph/compressed_sparse_row_graph.hpp
==============================================================================
--- trunk/boost/graph/compressed_sparse_row_graph.hpp (original)
+++ trunk/boost/graph/compressed_sparse_row_graph.hpp 2009-07-29 12:33:59 EDT (Wed, 29 Jul 2009)
@@ -1731,6 +1731,27 @@
   return key.idx;
 }
 
+template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
+struct property_map<BOOST_CSR_GRAPH_TYPE, vertex_index_t>
+{
+ typedef identity_property_map type;
+ typedef type const_type;
+};
+
+template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
+struct property_map<BOOST_CSR_GRAPH_TYPE, edge_index_t>
+{
+private:
+ typedef typename graph_traits<BOOST_CSR_GRAPH_TYPE>::edge_descriptor
+ edge_descriptor;
+ typedef csr_edge_index_map<EdgeIndex, edge_descriptor> edge_index_type;
+
+public:
+ typedef edge_index_type type;
+ typedef type const_type;
+};
+
+#if 0
 // Doing the right thing here (by unifying with vertex_index_t and
 // edge_index_t) breaks GCC.
 template<BOOST_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
@@ -1754,6 +1775,7 @@
 
   typedef type const_type;
 };
+#endif
 
 template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
 inline identity_property_map


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