📄 multicaster.h
字号:
#ifndef MULTICASTER_H
#define MULTICASTER_H
#include <map>
#include <vector>
#include <string>
class Value
{
};
class MulticastObserver
{
public:
virtual void accept (std::string address, Value value) = 0;
};
typedef std::vector<MulticastObserver *> Subscriptions;
typedef std::map<std::string,Subscriptions> AddressSpace;
class Multicaster
{
public:
virtual ~Multicaster () {}
virtual bool subscribe (MulticastObserver *observer, std::string address);
virtual bool unsubscribe (MulticastObserver *observer, std::string address);
virtual bool publish (MulticastObserver *observer, std::string address, Value value);
virtual void unsubscribeFromAll (MulticastObserver *observer);
private:
AddressSpace m_addresses;
void unsubscribe (Subscriptions& subscriptions, MulticastObserver *observerToRemove);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -