carb::eventdispatcher::ObserverGuard
Defined in carb/eventdispatcher/EventDispatcherTypes.h
- 
class ObserverGuard
- Structure to manage the lifetime of an observer. Similar to - std::unique_ptr.- Public Functions - 
constexpr ObserverGuard() noexcept
- Default constructor. - Constructs an empty - ObserverGuard.
 - 
explicit constexpr ObserverGuard(Observer o) noexcept
- Constructor that accepts an Observer handle. - Parameters
- o – The Observer to manage. 
 
 - 
ObserverGuard(ObserverGuard &&other) noexcept
- Move constructor. - Moves the Observer managed by - otherto- *thisand leaves- otherempty.- Parameters
- other – The other - ObserverGuard.
 
 - 
~ObserverGuard() noexcept
- Destructor. 
 - 
ObserverGuard &operator=(ObserverGuard &&other) noexcept
- Move-assign operator. - Moves the Observer managed by - otherto- *this.- Parameters
- other – The other - ObserverGuard.
 
 - 
Observer release() noexcept
- Releases the managed Observer to the caller and leaves - *thisempty.- Note - This does not stop the managed Observer. - Returns
- The Observer previously managed by - *this.
 
 - 
void reset(Observer o = kInvalidObserver) noexcept
- Stops any currently managed observer (as via IEventDispatcher::stopObserving()) and takes ownership of the given Observer. - Parameters
- o – The new Observer to manage, or kInvalidObserver to remain empty. 
 
 - 
void swap(ObserverGuard &o) noexcept
- Exchanges state with another - ObserverGuard.- Parameters
- o – The other - ObserverGuard.
 
 - 
constexpr Observer get() const noexcept
- Returns the managed Observer while maintaining management of it. - Returns
- The managed Observer. 
 
 - 
explicit operator bool() const noexcept
- Validation test. - Returns
- trueif- *thisis non-empty (manages a valid observer);- falseotherwise.
 
 
- 
constexpr ObserverGuard() noexcept