]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/eventdispatcher.cpp
Add move semantics to Variant
[libs/core.git] / source / io / eventdispatcher.cpp
index 49b28ac78bf436997f74d2d8fecb740aebf47fb5..035a7f286f6284378ee9a9b5795458b2afe91de3 100644 (file)
@@ -12,7 +12,7 @@ namespace IO {
 void EventDispatcher::add(EventObject &obj)
 {
        Slot slot(*this, obj);
-       set<Slot>::iterator i = objects.find(slot);
+       auto i = objects.find(slot);
        if(i==objects.end())
        {
                i = objects.insert(slot).first;
@@ -25,7 +25,7 @@ void EventDispatcher::add(EventObject &obj)
 
 void EventDispatcher::remove(EventObject &obj)
 {
-       set<Slot>::iterator i = objects.find(Slot(*this, obj));
+       auto i = objects.find(Slot(*this, obj));
        if(i!=objects.end())
        {
                objects.erase(i);
@@ -63,18 +63,12 @@ void EventDispatcher::tick(const Time::Timer &timer)
 
 void EventDispatcher::dispatch()
 {
-       const vector<Poller::PolledObject> &result = poller.get_result();
-       for(vector<Poller::PolledObject>::const_iterator i=result.begin(); i!=result.end(); ++i)
-               if(objects.count(Slot(*this, *i->object)))
-                       i->object->event(i->events);
+       for(const Poller::PolledObject &po: poller.get_result())
+               if(objects.count(Slot(*this, *po.object)))
+                       po.object->event(po.events);
 }
 
 
-EventDispatcher::Slot::Slot(EventDispatcher &d, EventObject &o):
-       disp(d),
-       obj(o)
-{ }
-
 void EventDispatcher::Slot::connect_signals() const
 {
        obj.signal_events_changed.connect(sigc::mem_fun(this, &Slot::events_changed));