$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r58090 - trunk/boost/graph
From: jewillco_at_[hidden]
Date: 2009-12-01 15:25:18
Author: jewillco
Date: 2009-12-01 15:25:18 EST (Tue, 01 Dec 2009)
New Revision: 58090
URL: http://svn.boost.org/trac/boost/changeset/58090
Log:
Made vertex_property_type and edge_property_type traits lazier in filtered_graph
Text files modified: 
   trunk/boost/graph/filtered_graph.hpp |    18 ++++++++++++++++--                      
   1 files changed, 16 insertions(+), 2 deletions(-)
Modified: trunk/boost/graph/filtered_graph.hpp
==============================================================================
--- trunk/boost/graph/filtered_graph.hpp	(original)
+++ trunk/boost/graph/filtered_graph.hpp	2009-12-01 15:25:18 EST (Tue, 01 Dec 2009)
@@ -192,8 +192,6 @@
     > edge_iterator;
     typedef typename Traits::edges_size_type           edges_size_type;
 
-    typedef typename ::boost::edge_property_type<Graph>::type   edge_property_type;
-    typedef typename ::boost::vertex_property_type<Graph>::type vertex_property_type;
     typedef filtered_graph_tag graph_tag;
 
 #ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
@@ -219,6 +217,22 @@
     VertexPredicate m_vertex_pred;
   };
 
+  // Do not instantiate these unless needed
+  template <typename Graph, 
+            typename EdgePredicate,
+            typename VertexPredicate>
+  class vertex_property_type<filtered_graph<Graph, EdgePredicate, VertexPredicate> > {
+    typedef typename vertex_property_type<Graph>::type type;
+  };
+
+  template <typename Graph, 
+            typename EdgePredicate,
+            typename VertexPredicate>
+  class edge_property_type<filtered_graph<Graph, EdgePredicate, VertexPredicate> > {
+    typedef typename edge_property_type<Graph>::type type;
+  };
+
+
 #ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
   template<typename Graph, typename EdgePredicate, typename VertexPredicate>
   struct vertex_bundle_type<filtered_graph<Graph, EdgePredicate,