[ADT] Add a 'find_as' operation to DenseSet.
[oota-llvm.git] / include / llvm / ADT / GraphTraits.h
index 566956dfeecc0fd39424af4d0d368667742371ab..823caef7647e70572e6e7c9baab6eec75523727f 100644 (file)
@@ -30,7 +30,7 @@ struct GraphTraits {
   // typedef NodeType          - Type of Node in the graph
   // typedef ChildIteratorType - Type used to iterate over children in graph
 
-  // static NodeType *getEntryNode(GraphType *)
+  // static NodeType *getEntryNode(const GraphType &)
   //    Return the entry node of the graph
 
   // static ChildIteratorType child_begin(NodeType *)
@@ -43,9 +43,12 @@ struct GraphTraits {
   // typedef  ...iterator nodes_iterator;
   // static nodes_iterator nodes_begin(GraphType *G)
   // static nodes_iterator nodes_end  (GraphType *G)
-  //
   //    nodes_iterator/begin/end - Allow iteration over all nodes in the graph
 
+  // static unsigned       size       (GraphType *G)
+  //    Return total number of nodes in the graph
+  //
+
 
   // If anyone tries to use this class without having an appropriate
   // specialization, make an error.  If you get this error, it's because you
@@ -78,21 +81,21 @@ struct Inverse {
   inline Inverse(const GraphType &G) : Graph(G) {}
 };
 
-// Provide a partial specialization of GraphTraits so that the inverse of an inverse
-// falls back to the original graph.
+// Provide a partial specialization of GraphTraits so that the inverse of an
+// inverse falls back to the original graph.
 template<class T>
 struct GraphTraits<Inverse<Inverse<T> > > {
   typedef typename GraphTraits<T>::NodeType NodeType;
   typedef typename GraphTraits<T>::ChildIteratorType ChildIteratorType;
-  
+
   static NodeType *getEntryNode(Inverse<Inverse<T> > *G) {
     return GraphTraits<T>::getEntryNode(G->Graph.Graph);
   }
-  
+
   static ChildIteratorType child_begin(NodeType* N) {
     return GraphTraits<T>::child_begin(N);
   }
-  
+
   static ChildIteratorType child_end(NodeType* N) {
     return GraphTraits<T>::child_end(N);
   }