Skip to content

Commit b110c81

Browse files
Andrii Grynenkofacebook-github-bot
authored andcommitted
Make *Observer::getUnderlyingObserver return a reference
Summary: Returning by reference is safe and is cheaper. Observer API is richer (e.g. needsRefresh) and if someone needs access to it it's useful to avoid a copy. Reviewed By: wangyishuo123 Differential Revision: D70140149 fbshipit-source-id: 2aba0bf34606207aadbc5740910c0b1902fd5a3b
1 parent 431af35 commit b110c81

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

folly/observer/Observer.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ class AtomicObserver {
360360
T get() const;
361361
T operator*() const { return get(); }
362362

363-
Observer<T> getUnderlyingObserver() const { return observer_; }
363+
const Observer<T>& getUnderlyingObserver() const { return observer_; }
364364

365365
private:
366366
mutable std::atomic<T> cachedValue_{};
@@ -379,7 +379,7 @@ class TLObserver {
379379
const Snapshot<T>& getSnapshotRef() const;
380380
const Snapshot<T>& operator*() const { return getSnapshotRef(); }
381381

382-
Observer<T> getUnderlyingObserver() const { return observer_; }
382+
const Observer<T>& getUnderlyingObserver() const { return observer_; }
383383

384384
private:
385385
Observer<T> observer_;
@@ -397,7 +397,7 @@ class ReadMostlyAtomicObserver {
397397
T get() const;
398398
T operator*() const { return get(); }
399399

400-
Observer<T> getUnderlyingObserver() const { return observer_; }
400+
const Observer<T>& getUnderlyingObserver() const { return observer_; }
401401

402402
private:
403403
Observer<T> observer_;

0 commit comments

Comments
 (0)