Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Unified Diff: base/observer_list.h

Issue 1124763003: Update from https://crrev.com/327068 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: update nacl, buildtools, fix display_change_notifier_unittest Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698