$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: asutton_at_[hidden]
Date: 2007-07-11 11:28:56
Author: asutton
Date: 2007-07-11 11:28:55 EDT (Wed, 11 Jul 2007)
New Revision: 7407
URL: http://svn.boost.org/trac/boost/changeset/7407
Log:
Fixed graph reference issues
Text files modified: 
   sandbox/SOC/2007/graphs/boost/graph/degree_distribution.hpp |    88 +++++++++++++++++++++++++++++---------- 
   1 files changed, 65 insertions(+), 23 deletions(-)
Modified: sandbox/SOC/2007/graphs/boost/graph/degree_distribution.hpp
==============================================================================
--- sandbox/SOC/2007/graphs/boost/graph/degree_distribution.hpp	(original)
+++ sandbox/SOC/2007/graphs/boost/graph/degree_distribution.hpp	2007-07-11 11:28:55 EDT (Wed, 11 Jul 2007)
@@ -20,34 +20,52 @@
     {
         template <typename Dist, typename Graph>
         inline void
-        max_degree(Dist&, typename Graph::degree_size_type& m, typename Graph::vertex_descriptor v, const Graph& g)
+        max_degree(Dist&,
+                   typename graph_traits<Graph>::degree_size_type& m,
+                   typename graph_traits<Graph>::vertex_descriptor v,
+                   const Graph& g)
         { m = max(m, boost::degree(v, g)); }
 
         template <typename Graph>
         inline void
-        max_degree(not_given, typename Graph::degree_size_type&, typename Graph::vertex_descriptor, const Graph&)
+        max_degree(not_given,
+                   typename graph_traits<Graph>::degree_size_type&,
+                   typename graph_traits<Graph>::vertex_descriptor,
+                   const Graph&)
         {}
 
 
         template <typename Dist, typename Graph>
         inline void
-        max_out_degree(Dist&, typename Graph::degree_size_type& m, typename Graph::vertex_descriptor v, const Graph& g)
+        max_out_degree(Dist&,
+                       typename graph_traits<Graph>::degree_size_type& m,
+                       typename graph_traits<Graph>::vertex_descriptor v,
+                       const Graph& g)
         { m = max(m, boost::out_degree(v, g)); }
 
         template <typename Graph>
         inline void
-        max_out_degree(not_given, typename Graph::degree_size_type&, typename Graph::vertex_descriptor, const Graph&)
+        max_out_degree(not_given,
+                       typename graph_traits<Graph>::degree_size_type&,
+                       typename graph_traits<Graph>::vertex_descriptor,
+                       const Graph&)
         {}
 
 
         template <typename Dist, typename Graph>
         inline void
-        max_in_degree(Dist&, typename Graph::degree_size_type& m, typename Graph::vertex_descriptor v, const Graph& g)
+        max_in_degree(Dist&,
+                      typename graph_traits<Graph>::degree_size_type& m,
+                      typename graph_traits<Graph>::vertex_descriptor v,
+                      const Graph& g)
         { m = max(m, boost::in_degree(v, g)); }
 
         template <typename Graph>
         inline void
-        max_in_degree(not_given, typename Graph::degree_size_type&, typename Graph::vertex_descriptor, const Graph&)
+        max_in_degree(not_given,
+                      typename graph_traits<Graph>::degree_size_type&,
+                      typename graph_traits<Graph>::vertex_descriptor,
+                      const Graph&)
         { }
 
 
@@ -60,56 +78,80 @@
 
 
         template <typename Hist, typename Graph>
-        inline void observe_degree(Hist& d, typename Graph::vertex_descriptor v, const Graph& g)
+        inline void observe_degree(Hist& d,
+                                   typename graph_traits<Graph>::vertex_descriptor v,
+                                   const Graph& g)
         { d[boost::degree(v, g)] += 1; }
 
         template <typename Graph>
-        inline void observe_degree(not_given, typename Graph::vertex_descriptor v, const Graph& g)
+        inline void observe_degree(not_given,
+                                   typename graph_traits<Graph>::vertex_descriptor v,
+                                   const Graph& g)
         { }
 
 
         template <typename Hist, typename Graph>
-        inline void observe_out_degree(Hist& d, typename Graph::vertex_descriptor v, const Graph& g)
+        inline void observe_out_degree(Hist& d,
+                                       typename graph_traits<Graph>::vertex_descriptor v,
+                                       const Graph& g)
         { d[boost::out_degree(v, g)] += 1; }
 
         template <typename Graph>
-        inline void observe_out_degree(not_given, typename Graph::vertex_descriptor v, const Graph& g)
+        inline void observe_out_degree(not_given,
+                                       typename graph_traits<Graph>::vertex_descriptor v,
+                                       const Graph& g)
         { }
 
 
         template <typename Dist, typename Graph>
-        inline void observe_in_degree(Dist& d, typename Graph::vertex_descriptor v, const Graph& g)
+        inline void observe_in_degree(Dist& d,
+                                      typename graph_traits<Graph>::vertex_descriptor v,
+                                      const Graph& g)
         { d[boost::in_degree(v, g)] += 1; }
 
         template <typename Graph>
-        inline void observe_in_degree(not_given, typename Graph::vertex_descriptor v, const Graph& g)
+        inline void observe_in_degree(not_given,
+                                      typename graph_traits<Graph>::vertex_descriptor v,
+                                      const Graph& g)
         { }
 
 
         template <typename Hist, typename Graph>
-        inline void record_degree(Hist& h, typename Graph::vertex_descriptor v, const Graph& g)
+        inline void record_degree(Hist& h,
+                                  typename graph_traits<Graph>::vertex_descriptor v,
+                                  const Graph& g)
         { h[boost::degree(v, g)].push_back(v); }
 
         template <typename Graph>
-        inline void record_degree(not_given, typename Graph::vertex_descriptor v, const Graph& g)
+        inline void record_degree(not_given,
+                                  typename graph_traits<Graph>::vertex_descriptor v,
+                                  const Graph& g)
         { }
 
 
         template <typename Hist, typename Graph>
-        inline void record_out_degree(Hist& h, typename Graph::vertex_descriptor v, const Graph& g)
+        inline void record_out_degree(Hist& h,
+                                      typename graph_traits<Graph>::vertex_descriptor v,
+                                      const Graph& g)
         { h[boost::out_degree(v, g)].push_back(v); }
 
         template <typename Graph>
-        inline void record_out_degree(not_given, typename Graph::vertex_descriptor v, const Graph& g)
+        inline void record_out_degree(not_given,
+                                      typename graph_traits<Graph>::vertex_descriptor v,
+                                      const Graph& g)
         { }
 
 
         template <typename Hist, typename Graph>
-        inline void record_in_degree(Hist& h, typename Graph::vertex_descriptor v, const Graph& g)
+        inline void record_in_degree(Hist& h,
+                                     typename graph_traits<Graph>::vertex_descriptor v,
+                                     const Graph& g)
         { h[boost::in_degree(v, g)].push_back(v); }
 
         template <typename Graph>
-        inline void record_in_degree(not_given, typename Graph::vertex_descriptor v, const Graph& g)
+        inline void record_in_degree(not_given,
+                                     typename graph_traits<Graph>::vertex_descriptor v,
+                                     const Graph& g)
         { }
     }
 
@@ -119,11 +161,11 @@
         (required (graph, *))
         (optional
             (out(distribution), *, not_given())
-            (out(in_distribution), *, not_given())
-            (out(out_distribution), *, not_given()))
+            (out(out_distribution), *, not_given())
+            (out(in_distribution), *, not_given()))
         )
     {
-        typename graph_type::vertex_iterator i, end;
+        typename graph_traits<graph_type>::vertex_iterator i, end;
 
         // part 1: find the max observable degrees for the graph so we
         // only have to resize once. note that this relaxes requirements on
@@ -150,7 +192,7 @@
             (out(in_distribution), *, not_given()))
         )
     {
-        typename graph_type::vertex_iterator i, end;
+        typename graph_traits<graph_type>::vertex_iterator i, end;
 
         // part 1: initialize distributions
         initialize_distribution(graph,
@@ -177,7 +219,7 @@
             (out(in_histogram), *, not_given()))
         )
     {
-        typename graph_type::vertex_iterator i, end;
+        typename graph_traits<graph_type>::vertex_iterator i, end;
 
         // part 1: initialize distributions
         initialize_distribution(graph,