1#line 1 "D:/Jenkins/workspace/EMS/ECG/ufe/full/ufe-full-python3.13-windows/ufe/include/subject.h"
20class NotificationGuard;
108 typedef std::set<Observer::WeakPtr, std::owner_less<Observer::WeakPtr> >
Notification guard for Subject.
NotificationGuard(const NotificationGuard &)=delete
const NotificationGuard & operator&(const NotificationGuard &)=delete
NotificationGuard(Subject &subject)
Base class for all notifications.
std::shared_ptr< Observer > Ptr
Observer pattern Subject class.
bool removeObserver(const Observer::Ptr &obs)
virtual void notify(const Notification ¬ification)
void cleanObservers(const Observers &dead)
virtual void endNotificationGuard()
Subject & operator=(const Subject &)
Assignment operator. Does nothing, as observers are not copied.
virtual void beginNotificationGuard()
bool addObserver(const Observer::Ptr &obs)
virtual ~Subject()
Destructor.
Subject(const Subject &)
Copy constructor. Observers are not copied.
std::size_t nbObservers() const
std::set< Observer::WeakPtr, std::owner_less< Observer::WeakPtr > > Observers
bool hasObserver(const Observer::Ptr &obs) const
Subject(Subject &&)
Move constructor. Observers are not moved.
Subject & operator=(Subject &&)
Move assignment operator. Does nothing, as observers are not moved.
virtual bool inCompositeNotification() const