[llvm-commits] CVS: llvm/include/llvm/Support/DOTGraphTraits.h

Dan Gohman djg at cray.com
Mon May 14 07:23:46 PDT 2007



Changes in directory llvm/include/llvm/Support:

DOTGraphTraits.h updated: 1.15 -> 1.16
---
Log message:

Use templates for the GraphType for DefaultDOTGraphTraits' members instead
of just using void*. This allows it to be used with graph adapters like
Inverse.


---
Diffs of the changes:  (+12 -7)

 DOTGraphTraits.h |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)


Index: llvm/include/llvm/Support/DOTGraphTraits.h
diff -u llvm/include/llvm/Support/DOTGraphTraits.h:1.15 llvm/include/llvm/Support/DOTGraphTraits.h:1.16
--- llvm/include/llvm/Support/DOTGraphTraits.h:1.15	Mon Oct  2 07:26:53 2006
+++ llvm/include/llvm/Support/DOTGraphTraits.h	Mon May 14 09:23:27 2007
@@ -30,12 +30,14 @@
   /// getGraphName - Return the label for the graph as a whole.  Printed at the
   /// top of the graph.
   ///
-  static std::string getGraphName(const void *Graph) { return ""; }
+  template<typename GraphType>
+  static std::string getGraphName(GraphType Graph) { return ""; }
 
   /// getGraphProperties - Return any custom properties that should be included
   /// in the top level graph structure for dot.
   ///
-  static std::string getGraphProperties(const void *Graph) {
+  template<typename GraphType>
+  static std::string getGraphProperties(GraphType Graph) {
     return "";
   }
 
@@ -48,19 +50,22 @@
 
   /// getNodeLabel - Given a node and a pointer to the top level graph, return
   /// the label to print in the node.
-  static std::string getNodeLabel(const void *Node, const void *Graph) {
+  template<typename GraphType>
+  static std::string getNodeLabel(const void *Node, GraphType Graph) {
     return "";
   }
   
   /// hasNodeAddressLabel - If this method returns true, the address of the node
   /// is added to the label of the node.
-  static bool hasNodeAddressLabel(const void *Node, const void *Graph) {
+  template<typename GraphType>
+  static bool hasNodeAddressLabel(const void *Node, GraphType Graph) {
     return false;
   }
 
   /// If you want to specify custom node attributes, this is the place to do so
   ///
-  static std::string getNodeAttributes(const void *Node, const void *Graph) {
+  template<typename GraphType>
+  static std::string getNodeAttributes(const void *Node, GraphType Graph) {
     return "";
   }
 
@@ -100,8 +105,8 @@
   /// GraphType is passed in as an argument.  You may call arbitrary methods on
   /// it to add things to the output graph.
   ///
-  template<typename GraphWriter>
-  static void addCustomGraphFeatures(const void *Graph, GraphWriter &GW) {}
+  template<typename GraphType, typename GraphWriter>
+  static void addCustomGraphFeatures(GraphType Graph, GraphWriter &GW) {}
 };
 
 






More information about the llvm-commits mailing list