⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 197137 in webkit


Ignore:
Timestamp:
Feb 25, 2016, 3:10:31 PM (11 years ago)
Author:
barraclough@apple.com
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.
Location:
trunk/Source/WTF
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WTF/ChangeLog

    r197132 r197137  
     12016-02-25  Gavin Barraclough  <barraclough@apple.com>
     2
     3        Replace RefCounter::Token implementation with RefPtr
     4        https://bugs.webkit.org/show_bug.cgi?id=154698
     5
     6        Reviewed by Anders Carlsson.
     7
     8        * wtf/RefCounter.h:
     9        (WTF::RefCounter::RefCounter):
     10        (WTF::RefCounter::count):
     11        (WTF::RefCounter::value):
     12        (WTF::RefCounter<T>::~RefCounter):
     13        (WTF::RefCounter::Token::Token): Deleted.
     14        (WTF::RefCounter::Token::operator bool): Deleted.
     15        (WTF::RefCounter<T>::Token::Token): Deleted.
     16        (WTF::=): Deleted.
     17            - Delete.
     18
    1192016-02-25  Gavin Barraclough  <barraclough@apple.com>
    220
  • trunk/Source/WTF/wtf/RefCounter.h

    r197132 r197137  
    5757
    5858public:
    59     class Token  {
    60     public:
    61         Token() { }
    62         Token(std::nullptr_t) { }
    63         inline Token(const Token&);
    64         inline Token(Token&&);
    65 
    66         inline Token& operator=(std::nullptr_t);
    67         inline Token& operator=(const Token&);
    68         inline Token& operator=(Token&&);
    69 
    70         explicit operator bool() const { return m_ptr; }
    71 
    72     private:
    73         friend class RefCounter;
    74         inline Token(Count* count);
    75 
    76         RefPtr<Count> m_ptr;
    77     };
     59    using Token = RefPtr<Count>;
    7860
    7961    WTF_EXPORT_PRIVATE RefCounter(std::function<void(bool)> = [](bool) { });
    … …  
    8264    Token count() const
    8365    {
    84         return Token(m_count);
     66        return m_count;
    8567    }
    8668
    … …  
    144126}
    145127
    146 template<class T>
    147 inline RefCounter<T>::Token::Token(Count* count)
    148     : m_ptr(count)
    149 {
    150 }
    151 
    152 template<class T>
    153 inline RefCounter<T>::Token::Token(const RefCounter::Token& token)
    154     : m_ptr(token.m_ptr)
    155 {
    156 }
    157 
    158 template<class T>
    159 inline RefCounter<T>::Token::Token(RefCounter::Token&& token)
    160     : m_ptr(token.m_ptr)
    161 {
    162 }
    163 
    164 template<class T>
    165 inline typename RefCounter<T>::Token& RefCounter<T>::Token::operator=(std::nullptr_t)
    166 {
    167     m_ptr = nullptr;
    168     return *this;
    169 }
    170 
    171 template<class T>
    172 inline typename RefCounter<T>::Token& RefCounter<T>::Token::operator=(const RefCounter<T>::Token& token)
    173 {
    174     m_ptr = token.m_ptr;
    175     return *this;
    176 }
    177 
    178 template<class T>
    179 inline typename RefCounter<T>::Token& RefCounter<T>::Token::operator=(RefCounter<T>::Token&& token)
    180 {
    181     m_ptr = token.m_ptr;
    182     return *this;
    183 }
    184 
    185128} // namespace WTF
    186129
Note: See TracChangeset for help on using the changeset viewer.