inline PollEvent operator~(PollEvent e)
{ return PollEvent(~static_cast<int>(e)); }
+
class Poller
{
public:
Slot(Base *o, PollEvent e): object(o), events(e) { }
};
- typedef std::list<Slot> SlotSeq;
- Poller();
- void set_object(Base &, PollEvent);
- int poll();
- int poll(const Time::TimeDelta &);
- const SlotSeq &get_result() const { return poll_result; }
+ typedef std::list<Slot> SlotSeq;
private:
typedef std::map<Base *, Slot> SlotMap;
void rebuild_pfd();
int do_poll(int);
+
+public:
+ Poller();
+
+ void set_object(Base &, PollEvent);
+ int poll();
+ int poll(const Time::TimeDelta &);
+ const SlotSeq &get_result() const { return poll_result; }
};
PollEvent poll(Base &, PollEvent);