? graph/A.diff
? graph/BGL_patch_for_edmunds_karp_max_flow_hpp.diff
? graph/LOCAL.diff
? graph/hugo.diff
? graph/transitive_closure.hpp.diff
? graph/transitive_closure.hpp.new
? graph/vector_as_graph.hpp.diff
? graph/vector_as_graph.hpp.new
Index: pending/property.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/pending/property.hpp,v
retrieving revision 1.15
diff -u -r1.15 property.hpp
--- pending/property.hpp	17 Feb 2003 07:58:00 -0000	1.15
+++ pending/property.hpp	16 Dec 2003 11:59:56 -0000
@@ -1,7 +1,9 @@
 #ifndef BOOST_PROPERTY_HPP
 #define BOOST_PROPERTY_HPP
 
-#include <boost/pending/ct_if.hpp>
+// For BOOST_STATIC_CONSTANT
+#include <boost/config.hpp>
+#include <boost/mpl/bool.hpp>
 
 namespace boost {
 
@@ -38,12 +40,12 @@
   template <class P>
   struct has_property { 
     BOOST_STATIC_CONSTANT(bool, value = true);
-    typedef true_type type;
+    typedef mpl::bool_<true> type;
   };
   template <>
   struct has_property<no_property> { 
     BOOST_STATIC_CONSTANT(bool, value = false); 
-    typedef false_type type; 
+    typedef mpl::bool_<false> type; 
   };
 
 } // namespace boost
Index: graph/adjacency_list.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/graph/adjacency_list.hpp,v
retrieving revision 1.35
diff -u -r1.35 adjacency_list.hpp
--- graph/adjacency_list.hpp	19 May 2003 19:20:18 -0000	1.35
+++ graph/adjacency_list.hpp	16 Dec 2003 11:59:56 -0000
@@ -44,9 +44,10 @@
 #include <boost/graph/graph_traits.hpp>
 #include <boost/graph/graph_selectors.hpp>
 #include <boost/property_map.hpp>
-#include <boost/pending/ct_if.hpp>
 #include <boost/graph/detail/edge.hpp>
 
+#include <boost/mpl/if.hpp>
+
 namespace boost {
 
   //===========================================================================
@@ -272,9 +273,9 @@
     typedef typename DirectedS::is_bidir_t is_bidir;
     typedef typename DirectedS::is_directed_t is_directed;
 
-    typedef typename boost::ct_if_t<is_bidir,
+    typedef typename boost::mpl::if_<is_bidir,
       bidirectional_tag,
-      typename boost::ct_if_t<is_directed,
+      typename boost::mpl::if_<is_directed,
         directed_tag, undirected_tag
       >::type
     >::type directed_category;
@@ -283,7 +284,7 @@
       edge_parallel_category;
 
     typedef void* vertex_ptr;
-    typedef typename boost::ct_if_t<is_rand_access,
+    typedef typename boost::mpl::if_<is_rand_access,
       std::size_t, vertex_ptr>::type vertex_descriptor;
     typedef detail::edge_desc_impl<directed_category, vertex_descriptor>
       edge_descriptor;
Index: graph/adjacency_matrix.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/graph/adjacency_matrix.hpp,v
retrieving revision 1.31
diff -u -r1.31 adjacency_matrix.hpp
--- graph/adjacency_matrix.hpp	22 Nov 2003 01:18:37 -0000	1.31
+++ graph/adjacency_matrix.hpp	16 Dec 2003 11:59:57 -0000
@@ -34,7 +34,7 @@
 #include <boost/iterator.hpp>
 #include <boost/graph/graph_traits.hpp>
 #include <boost/graph/graph_selectors.hpp>
-#include <boost/pending/ct_if.hpp>
+#include <boost/mpl/if.hpp>
 #include <boost/graph/adjacency_iterator.hpp>
 #include <boost/graph/detail/edge.hpp>
 #include <boost/iterator/iterator_adaptor.hpp>
@@ -319,9 +319,9 @@
     typedef typename Directed::is_bidir_t is_bidir;
     typedef typename Directed::is_directed_t is_directed;
   public:
-    typedef typename boost::ct_if_t<is_bidir,
+    typedef typename boost::mpl::if_<is_bidir,
       bidirectional_tag,
-      typename boost::ct_if_t<is_directed,
+      typename boost::mpl::if_<is_directed,
         directed_tag, undirected_tag
       >::type
     >::type directed_category;
@@ -354,7 +354,7 @@
     typedef adjacency_matrix self;
     typedef adjacency_matrix_traits<Directed> Traits;
   public: // should be private
-    typedef typename ct_if_t<typename has_property<EdgeProperty>::type,
+    typedef typename mpl::if_<typename has_property<EdgeProperty>::type,
       std::pair<bool, EdgeProperty>, char>::type StoredEdge;
 #if defined(BOOST_MSVC) && BOOST_MSVC <= 1300
     typedef std::vector<StoredEdge> Matrix;
@@ -388,7 +388,7 @@
         vertex_descriptor, MatrixIter, size_type, edge_descriptor
     > UnDirOutEdgeIter;
 
-    typedef typename ct_if_t<
+    typedef typename mpl::if_<
         typename Directed::is_directed_t, DirOutEdgeIter, UnDirOutEdgeIter
     >::type unfiltered_out_edge_iter;
     
Index: graph/edge_list.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/graph/edge_list.hpp,v
retrieving revision 1.10
diff -u -r1.10 edge_list.hpp
--- graph/edge_list.hpp	14 Jan 2002 21:29:55 -0000	1.10
+++ graph/edge_list.hpp	16 Dec 2003 11:59:57 -0000
@@ -29,7 +29,7 @@
 
 #include <iterator>
 #include <boost/config.hpp>
-#include <boost/pending/ct_if.hpp>
+#include <boost/mpl/if.hpp>
 #include <boost/pending/integer_range.hpp>
 #include <boost/graph/graph_traits.hpp>
 #include <boost/graph/properties.hpp>
@@ -278,7 +278,7 @@
             class Cat>
 #endif
   class edge_list
-    : public ct_if_t< typename is_random<Cat>::type,
+    : public mpl::if_< typename is_random<Cat>::type,
                     edge_list_impl_ra< edge_list<EdgeIter,T,D,Cat>, EdgeIter,T,D>,
                     edge_list_impl< edge_list<EdgeIter,T,D,Cat>, EdgeIter,T,D> 
              >::type
Index: graph/graph_traits.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/graph/graph_traits.hpp,v
retrieving revision 1.16
diff -u -r1.16 graph_traits.hpp
--- graph/graph_traits.hpp	22 Nov 2003 01:18:37 -0000	1.16
+++ graph/graph_traits.hpp	16 Dec 2003 11:59:57 -0000
@@ -29,7 +29,6 @@
 #include <boost/config.hpp>
 #include <iterator>
 #include <boost/tuple/tuple.hpp>
-#include <boost/pending/ct_if.hpp>
 #include <boost/iterator/iterator_categories.hpp>
 #include <boost/iterator/iterator_adaptor.hpp>
 #include <boost/detail/workaround.hpp>
Index: graph/johnson_all_pairs_shortest.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/graph/johnson_all_pairs_shortest.hpp,v
retrieving revision 1.11
diff -u -r1.11 johnson_all_pairs_shortest.hpp
--- graph/johnson_all_pairs_shortest.hpp	12 Feb 2003 08:50:32 -0000	1.11
+++ graph/johnson_all_pairs_shortest.hpp	16 Dec 2003 11:59:57 -0000
@@ -43,7 +43,6 @@
 #include <boost/graph/bellman_ford_shortest_paths.hpp>
 #include <boost/graph/dijkstra_shortest_paths.hpp>
 #include <boost/graph/adjacency_list.hpp>
-#include <boost/pending/ct_if.hpp>
 #include <boost/type_traits/same_traits.hpp>
 
 namespace boost {
Index: graph/property_iter_range.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/graph/property_iter_range.hpp,v
retrieving revision 1.3
diff -u -r1.3 property_iter_range.hpp
--- graph/property_iter_range.hpp	2 Nov 2001 22:51:24 -0000	1.3
+++ graph/property_iter_range.hpp	16 Dec 2003 11:59:57 -0000
@@ -20,7 +20,7 @@
 
 #include <boost/property_map_iterator.hpp>
 #include <boost/graph/properties.hpp>
-#include <boost/pending/ct_if.hpp>
+#include <boost/mpl/if.hpp>
 #include <boost/type_traits/same_traits.hpp>
 
 namespace boost {
@@ -34,7 +34,7 @@
     typedef typename property_map<Graph, PropertyTag>::const_type 
       const_map_type;
     typedef typename property_kind<PropertyTag>::type Kind;
-    typedef typename ct_if<is_same<Kind, vertex_property_tag>::value,
+    typedef typename mpl::if_c<is_same<Kind, vertex_property_tag>::value,
        typename graph_traits<Graph>::vertex_iterator,
        typename graph_traits<Graph>::edge_iterator>::type iter;
   public:
Index: graph/detail/adjacency_list.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/graph/detail/adjacency_list.hpp,v
retrieving revision 1.112
diff -u -r1.112 adjacency_list.hpp
--- graph/detail/adjacency_list.hpp	22 Nov 2003 01:18:37 -0000	1.112
+++ graph/detail/adjacency_list.hpp	16 Dec 2003 11:59:57 -0000
@@ -39,7 +39,9 @@
 
 #include <boost/iterator/iterator_adaptor.hpp>
 
-#include <boost/pending/ct_if.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/not.hpp>
 #include <boost/graph/graph_concepts.hpp>
 #include <boost/pending/container_traits.hpp>
 #include <boost/graph/detail/adj_list_edge_iterator.hpp>
@@ -2073,7 +2075,7 @@
         typedef typename container_gen<VertexListS, 
           vertex_ptr>::type SeqVertexList;
         typedef boost::integer_range<std::size_t> RandVertexList;
-        typedef typename boost::ct_if_t<is_rand_access,
+        typedef typename boost::mpl::if_<is_rand_access,
           RandVertexList, SeqVertexList>::type VertexList;
 
         typedef typename VertexList::iterator vertex_iterator;
@@ -2083,10 +2085,10 @@
         typedef typename container_gen<EdgeListS, 
           list_edge<vertex_descriptor, EdgeProperty> >::type EdgeContainer;
 
-        typedef typename ct_and<DirectedT, 
-             typename ct_not<BidirectionalT>::type >::type on_edge_storage;
+        typedef typename mpl::and_<DirectedT, 
+             typename mpl::not_<BidirectionalT>::type >::type on_edge_storage;
 
-        typedef typename boost::ct_if_t<on_edge_storage,
+        typedef typename boost::mpl::if_<on_edge_storage,
           std::size_t, typename EdgeContainer::size_type
         >::type edges_size_type;
 
@@ -2094,9 +2096,9 @@
 
         typedef typename detail::is_random_access<EdgeListS>::type is_edge_ra;
 
-        typedef typename boost::ct_if_t<on_edge_storage,
+        typedef typename boost::mpl::if_<on_edge_storage,
           stored_edge_property<vertex_descriptor, EdgeProperty>,
-          typename boost::ct_if_t<is_edge_ra,
+          typename boost::mpl::if_<is_edge_ra,
             stored_ra_edge_iter<vertex_descriptor, EdgeContainer, EdgeProperty>,
             stored_edge_iter<vertex_descriptor, EdgeIter, EdgeProperty>
           >::type
@@ -2147,7 +2149,7 @@
         typedef adj_list_edge_iterator<vertex_iterator, out_edge_iterator, 
            graph_type> DirectedEdgeIter;
 
-        typedef typename boost::ct_if_t<on_edge_storage,
+        typedef typename boost::mpl::if_<on_edge_storage,
           DirectedEdgeIter, UndirectedEdgeIter>::type edge_iterator;
 
         // stored_vertex and StoredVertexList
@@ -2181,10 +2183,10 @@
           InEdgeList m_in_edges;
           VertexProperty m_property;
         };
-        typedef typename boost::ct_if_t<is_rand_access,
-          typename boost::ct_if_t<BidirectionalT,
+        typedef typename boost::mpl::if_<is_rand_access,
+          typename boost::mpl::if_<BidirectionalT,
             bidir_rand_stored_vertex, rand_stored_vertex>::type,
-          typename boost::ct_if_t<BidirectionalT,
+          typename boost::mpl::if_<BidirectionalT,
             bidir_seq_stored_vertex, seq_stored_vertex>::type
         >::type StoredVertex;
         struct stored_vertex : public StoredVertex {
@@ -2194,20 +2196,20 @@
 
         typedef typename container_gen<VertexListS, stored_vertex>::type
           RandStoredVertexList;
-        typedef typename boost::ct_if_t< is_rand_access,
+        typedef typename boost::mpl::if_< is_rand_access,
           RandStoredVertexList, SeqStoredVertexList>::type StoredVertexList;
       }; // end of config
 
 
-      typedef typename boost::ct_if_t<BidirectionalT,
+      typedef typename boost::mpl::if_<BidirectionalT,
         bidirectional_graph_helper_with_property<config>,
-        typename boost::ct_if_t<DirectedT,
+        typename boost::mpl::if_<DirectedT,
           directed_graph_helper<config>,
           undirected_graph_helper<config>
         >::type
       >::type DirectedHelper;
 
-      typedef typename boost::ct_if_t<is_rand_access,
+      typedef typename boost::mpl::if_<is_rand_access,
         vec_adj_list_impl<Graph, config, DirectedHelper>,
         adj_list_impl<Graph, config, DirectedHelper>
       >::type type;
Index: graph/detail/bitset.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/graph/detail/bitset.hpp,v
retrieving revision 1.6
diff -u -r1.6 bitset.hpp
--- graph/detail/bitset.hpp	17 Jan 2002 15:53:54 -0000	1.6
+++ graph/detail/bitset.hpp	16 Dec 2003 11:59:57 -0000
@@ -22,7 +22,6 @@
 #include <stdexcept>
 #include <algorithm>
 #include <string>
-#include <boost/pending/ct_if.hpp>
 #include <boost/graph/detail/bitset_adaptor.hpp>
 
 // This provides versions of std::bitset with both static and dynamic size.
@@ -590,7 +589,7 @@
       typename Allocator = std::allocator<WordType>
              >
     class bitset_generator {
-      typedef typename ct_if<N, select_dyn_size_bitset,
+      typedef typename mpl::if_c<N, select_dyn_size_bitset,
         select_static_bitset>::type selector;
     public:
       typedef typename selector
Index: graph/detail/is_same.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/graph/detail/is_same.hpp,v
retrieving revision 1.4
diff -u -r1.4 is_same.hpp
--- graph/detail/is_same.hpp	4 Oct 2000 16:01:36 -0000	1.4
+++ graph/detail/is_same.hpp	16 Dec 2003 11:59:57 -0000
@@ -25,7 +25,7 @@
 #ifndef BOOST_GRAPH_DETAIL_IS_SAME_HPP
 #define BOOST_GRAPH_DETAIL_IS_SAME_HPP
 
-#include <boost/pending/ct_if.hpp>
+#include <boost/mpl/if.hpp>
 
 namespace boost {
   struct false_tag;
@@ -46,7 +46,7 @@
     template <class U, class V>
     struct is_same {
       enum { Unum = U::num, Vnum = V::num };
-      typedef typename boost::ct_if< (Unum == Vnum),
+      typedef typename boost::mpl::if_c< (Unum == Vnum),
                boost::true_tag, boost::false_tag>::type is_same_tag;
     };
 #endif

