OSDN Git Service

Rename createNode -> createSentinal.
authorChris Lattner <sabre@nondot.org>
Sat, 29 Jan 2005 18:40:19 +0000 (18:40 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 29 Jan 2005 18:40:19 +0000 (18:40 +0000)
Add a new method, destroySentinal, that is used to delete it (instead of
requiring use of delete.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19921 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/ilist

index 0d5e75d..f5b9e1d 100644 (file)
@@ -58,9 +58,10 @@ struct ilist_traits {
   static void setPrev(NodeTy *N, NodeTy *Prev) { N->setPrev(Prev); }
   static void setNext(NodeTy *N, NodeTy *Next) { N->setNext(Next); }
 
-  static NodeTy *createNode() { return new NodeTy(); }
   static NodeTy *createNode(const NodeTy &V) { return new NodeTy(V); }
 
+  static NodeTy *createSentinal() { return new NodeTy(); }
+  static void destroySentinal(NodeTy *N) { delete N; }
 
   void addNodeToList(NodeTy *NTy) {}
   void removeNodeFromList(NodeTy *NTy) {}
@@ -301,11 +302,11 @@ public:
   typedef std::reverse_iterator<const_iterator>  const_reverse_iterator;
   typedef std::reverse_iterator<iterator>  reverse_iterator;
 
-  iplist() : Head(Traits::createNode()), Tail(Head) {
+  iplist() : Head(Traits::createSentinal()), Tail(Head) {
     setNext(Head, 0);
     setPrev(Head, 0);
   }
-  ~iplist() { clear(); delete Tail; }
+  ~iplist() { clear(); Traits::destroySentinal(Tail); }
 
   // Iterator creation methods.
   iterator begin()             { return iterator(Head); }