Title: [197137] trunk/Source/WTF
Revision
197137
Author
[email protected]
Date
2016-02-25 15:10:31 -0800 (Thu, 25 Feb 2016)

Log Message

Replace RefCounter::Token implementation with RefPtr
https://bugs.webkit.org/show_bug.cgi?id=154698

Reviewed by Anders Carlsson.

* wtf/RefCounter.h:
(WTF::RefCounter::RefCounter):
(WTF::RefCounter::count):
(WTF::RefCounter::value):
(WTF::RefCounter<T>::~RefCounter):
(WTF::RefCounter::Token::Token): Deleted.
(WTF::RefCounter::Token::operator bool): Deleted.
(WTF::RefCounter<T>::Token::Token): Deleted.
(WTF::=): Deleted.
    - Delete.

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (197136 => 197137)


--- trunk/Source/WTF/ChangeLog	2016-02-25 22:58:23 UTC (rev 197136)
+++ trunk/Source/WTF/ChangeLog	2016-02-25 23:10:31 UTC (rev 197137)
@@ -1,5 +1,23 @@
 2016-02-25  Gavin Barraclough  <[email protected]>
 
+        Replace RefCounter::Token implementation with RefPtr
+        https://bugs.webkit.org/show_bug.cgi?id=154698
+
+        Reviewed by Anders Carlsson.
+
+        * wtf/RefCounter.h:
+        (WTF::RefCounter::RefCounter):
+        (WTF::RefCounter::count):
+        (WTF::RefCounter::value):
+        (WTF::RefCounter<T>::~RefCounter):
+        (WTF::RefCounter::Token::Token): Deleted.
+        (WTF::RefCounter::Token::operator bool): Deleted.
+        (WTF::RefCounter<T>::Token::Token): Deleted.
+        (WTF::=): Deleted.
+            - Delete.
+
+2016-02-25  Gavin Barraclough  <[email protected]>
+
         Should template RefCounter instead of RefCounter::Token
         https://bugs.webkit.org/show_bug.cgi?id=154691
 

Modified: trunk/Source/WTF/wtf/RefCounter.h (197136 => 197137)


--- trunk/Source/WTF/wtf/RefCounter.h	2016-02-25 22:58:23 UTC (rev 197136)
+++ trunk/Source/WTF/wtf/RefCounter.h	2016-02-25 23:10:31 UTC (rev 197137)
@@ -56,32 +56,14 @@
     };
 
 public:
-    class Token  {
-    public:
-        Token() { }
-        Token(std::nullptr_t) { }
-        inline Token(const Token&);
-        inline Token(Token&&);
+    using Token = RefPtr<Count>;
 
-        inline Token& operator=(std::nullptr_t);
-        inline Token& operator=(const Token&);
-        inline Token& operator=(Token&&);
-
-        explicit operator bool() const { return m_ptr; }
-
-    private:
-        friend class RefCounter;
-        inline Token(Count* count);
-
-        RefPtr<Count> m_ptr;
-    };
-
     WTF_EXPORT_PRIVATE RefCounter(std::function<void(bool)> = [](bool) { });
     WTF_EXPORT_PRIVATE ~RefCounter();
 
     Token count() const
     {
-        return Token(m_count);
+        return m_count;
     }
 
     unsigned value() const
@@ -143,45 +125,6 @@
         delete m_count;
 }
 
-template<class T>
-inline RefCounter<T>::Token::Token(Count* count)
-    : m_ptr(count)
-{
-}
-
-template<class T>
-inline RefCounter<T>::Token::Token(const RefCounter::Token& token)
-    : m_ptr(token.m_ptr)
-{
-}
-
-template<class T>
-inline RefCounter<T>::Token::Token(RefCounter::Token&& token)
-    : m_ptr(token.m_ptr)
-{
-}
-
-template<class T>
-inline typename RefCounter<T>::Token& RefCounter<T>::Token::operator=(std::nullptr_t)
-{
-    m_ptr = nullptr;
-    return *this;
-}
-
-template<class T>
-inline typename RefCounter<T>::Token& RefCounter<T>::Token::operator=(const RefCounter<T>::Token& token)
-{
-    m_ptr = token.m_ptr;
-    return *this;
-}
-
-template<class T>
-inline typename RefCounter<T>::Token& RefCounter<T>::Token::operator=(RefCounter<T>::Token&& token)
-{
-    m_ptr = token.m_ptr;
-    return *this;
-}
-
 } // namespace WTF
 
 using WTF::RefCounter;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to