]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
include/xlist: privatize item members
authorPatrick Donnelly <pdonnell@redhat.com>
Wed, 23 Jan 2019 01:04:31 +0000 (17:04 -0800)
committerPatrick Donnelly <pdonnell@redhat.com>
Fri, 25 Jan 2019 05:49:28 +0000 (21:49 -0800)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/include/xlist.h

index 69c6e1c640c02536dab946152f9888206f0f084c..2e18df2e1a7006474e6915592a8f3ceb65f59a8b 100644 (file)
 template<typename T>
 class xlist {
 public:
-  struct item {
-    T _item;
-    item *_prev, *_next;
-    xlist *_list;
-    
-    item(T i) : _item(i), _prev(0), _next(0), _list(0) {}
+  class item {
+  public:
+    item(T i) : _item(i) {}
     ~item() { 
       ceph_assert(!is_on_list());
-      //remove_myself();
     }
 
     item(const item& other) = delete;
     const item& operator= (const item& right) = delete;
 
-    
     xlist* get_list() { return _list; }
     bool is_on_list() const { return _list ? true:false; }
     bool remove_myself() {
@@ -57,6 +52,12 @@ public:
       ceph_assert(_list);
       _list->push_back(this);
     }
+
+  private:
+    friend xlist;
+    T _item;
+    item *_prev = nullptr, *_next = nullptr;
+    xlist *_list = nullptr;
   };
 
   typedef item* value_type;