Chromium Code Reviews| Index: base/memory/weak_ptr.h |
| diff --git a/base/memory/weak_ptr.h b/base/memory/weak_ptr.h |
| index 006e1fd33fdf7c1585b19b1ddb7dfeb5a245692e..e830f24c25b55dad6374d422ea3cbd2b0baa3a15 100644 |
| --- a/base/memory/weak_ptr.h |
| +++ b/base/memory/weak_ptr.h |
| @@ -3,7 +3,7 @@ |
| // found in the LICENSE file. |
| // Weak pointers are pointers to an object that do not affect its lifetime, |
| -// and which may be invalidated (i.e. reset to NULL) by the object, or its |
| +// and which may be invalidated (i.e. reset to nullptr) by the object, or its |
| // owner, at any time, most commonly when the object is about to be deleted. |
| // Weak pointers are useful when an object needs to be accessed safely by one |
| @@ -70,6 +70,7 @@ |
| #ifndef BASE_MEMORY_WEAK_PTR_H_ |
| #define BASE_MEMORY_WEAK_PTR_H_ |
| +#include <cstddef> |
| #include <type_traits> |
| #include "base/base_export.h" |
| @@ -199,29 +200,31 @@ template <typename T> class WeakPtrFactory; |
| template <typename T> |
| class WeakPtr : public internal::WeakPtrBase { |
| public: |
| - WeakPtr() : ptr_(NULL) { |
| + WeakPtr() : ptr_(nullptr) { |
| } |
| + WeakPtr(std::nullptr_t) : ptr_(nullptr) { } |
|
sky
2016/04/05 17:10:21
nit: no {}. I would hope git cl format converts '{
dcheng
2016/04/05 17:16:33
I forgot to run git cl format =S
|
| + |
| // Allow conversion from U to T provided U "is a" T. Note that this |
| // is separate from the (implicit) copy constructor. |
| template <typename U> |
| WeakPtr(const WeakPtr<U>& other) : WeakPtrBase(other), ptr_(other.ptr_) { |
| } |
| - T* get() const { return ref_.is_valid() ? ptr_ : NULL; } |
| + T* get() const { return ref_.is_valid() ? ptr_ : nullptr; } |
| T& operator*() const { |
| - DCHECK(get() != NULL); |
| + DCHECK(get() != nullptr); |
| return *get(); |
| } |
| T* operator->() const { |
| - DCHECK(get() != NULL); |
| + DCHECK(get() != nullptr); |
| return get(); |
| } |
| void reset() { |
| ref_ = internal::WeakReference(); |
| - ptr_ = NULL; |
| + ptr_ = nullptr; |
| } |
| // Implement "Safe Bool Idiom" |
| @@ -246,7 +249,7 @@ class WeakPtr : public internal::WeakPtrBase { |
| typedef T* WeakPtr::*Testable; |
| public: |
| - operator Testable() const { return get() ? &WeakPtr::ptr_ : NULL; } |
| + operator Testable() const { return get() ? &WeakPtr::ptr_ : nullptr; } |
| private: |
| // Explicitly declare comparison operators as required by the "Safe Bool |
| @@ -265,7 +268,7 @@ class WeakPtr : public internal::WeakPtrBase { |
| } |
| // This pointer is only valid when ref_.is_valid() is true. Otherwise, its |
| - // value is undefined (as opposed to NULL). |
| + // value is undefined (as opposed to nullptr). |
| T* ptr_; |
| }; |
| @@ -281,7 +284,7 @@ class WeakPtrFactory { |
| } |
| ~WeakPtrFactory() { |
| - ptr_ = NULL; |
| + ptr_ = nullptr; |
| } |
| WeakPtr<T> GetWeakPtr() { |