Boost logo

Boost-Commit :

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,


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