Changeset 197147 in webkit
- Timestamp:
- Feb 25, 2016, 4:54:13 PM (11 years ago)
- Location:
- trunk/Source/WTF
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
wtf/RefCounter.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r197146 r197147 1 2016-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 1 19 2016-02-25 Gavin Barraclough <barraclough@apple.com> 2 20 -
trunk/Source/WTF/wtf/RefCounter.h
r197146 r197147 57 57 58 58 public: 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>; 78 60 79 61 RefCounter(std::function<void(bool)> = [](bool) { }); … … 82 64 Token count() const 83 65 { 84 return Token(m_count);66 return m_count; 85 67 } 86 68 … … 144 126 } 145 127 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 185 128 } // namespace WTF 186 129
Note:
See TracChangeset
for help on using the changeset viewer.