22 std::set<T*>* m_pSubscribers;
28 if (m_pSubscribers ==
nullptr)
29 m_pSubscribers =
new std::set<T*>;
30 return *m_pSubscribers;
35 if (m_pSubscribers ==
nullptr)
36 m_pSubscribers =
new std::set<T*>;
38 typename set<T*>::iterator iter = m_pSubscribers->find(p);
39 ASSERT_M(iter == m_pSubscribers->end(),
"already subscribed");
41 m_pSubscribers->insert(p);
44 void Unsubscribe(T* p)
46 auto iter = m_pSubscribers->find(p);
47 assert(iter != m_pSubscribers->end());
48 m_pSubscribers->erase(iter);