Index: base/observer_list.h |
diff --git a/base/observer_list.h b/base/observer_list.h |
index f7b92679e9e37af4d3c6d6492da93aed9789cd4e..9ea344deb7aa5e44db447537d6b0243e688944aa 100644 |
--- a/base/observer_list.h |
+++ b/base/observer_list.h |
@@ -143,17 +143,18 @@ ObserverListBase<ObserverType>::Iterator::~Iterator() { |
template <class ObserverType> |
ObserverType* ObserverListBase<ObserverType>::Iterator::GetNext() { |
if (!list_.get()) |
- return NULL; |
+ return nullptr; |
ListType& observers = list_->observers_; |
// Advance if the current element is null |
size_t max_index = std::min(max_index_, observers.size()); |
while (index_ < max_index && !observers[index_]) |
++index_; |
- return index_ < max_index ? observers[index_++] : NULL; |
+ return index_ < max_index ? observers[index_++] : nullptr; |
} |
template <class ObserverType> |
void ObserverListBase<ObserverType>::AddObserver(ObserverType* obs) { |
+ DCHECK(obs); |
if (std::find(observers_.begin(), observers_.end(), obs) |
!= observers_.end()) { |
NOTREACHED() << "Observers can only be added once!"; |
@@ -164,11 +165,12 @@ void ObserverListBase<ObserverType>::AddObserver(ObserverType* obs) { |
template <class ObserverType> |
void ObserverListBase<ObserverType>::RemoveObserver(ObserverType* obs) { |
+ DCHECK(obs); |
typename ListType::iterator it = |
std::find(observers_.begin(), observers_.end(), obs); |
if (it != observers_.end()) { |
if (notify_depth_) { |
- *it = 0; |
+ *it = nullptr; |
} else { |
observers_.erase(it); |
} |
@@ -190,7 +192,7 @@ void ObserverListBase<ObserverType>::Clear() { |
if (notify_depth_) { |
for (typename ListType::iterator it = observers_.begin(); |
it != observers_.end(); ++it) { |
- *it = 0; |
+ *it = nullptr; |
} |
} else { |
observers_.clear(); |
@@ -200,8 +202,8 @@ void ObserverListBase<ObserverType>::Clear() { |
template <class ObserverType> |
void ObserverListBase<ObserverType>::Compact() { |
observers_.erase( |
- std::remove(observers_.begin(), observers_.end(), |
- static_cast<ObserverType*>(NULL)), observers_.end()); |
+ std::remove(observers_.begin(), observers_.end(), nullptr), |
+ observers_.end()); |
} |
template <class ObserverType, bool check_empty = false> |
@@ -233,7 +235,7 @@ class ObserverList : public ObserverListBase<ObserverType> { |
ObserverListBase<ObserverType>::Iterator it_inside_observer_macro( \ |
&observer_list); \ |
ObserverType* obs; \ |
- while ((obs = it_inside_observer_macro.GetNext()) != NULL) \ |
+ while ((obs = it_inside_observer_macro.GetNext()) != nullptr) \ |
obs->func; \ |
} \ |
} while (0) |