use unordered_map for id->obj maps
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>
Fri, 23 Jun 2017 13:37:34 +0000 (15:37 +0200)
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>
Tue, 8 Aug 2017 15:24:00 +0000 (17:24 +0200)
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
src/main.cpp
src/wayland.cpp
src/wayland.hpp

index 91b0c50..cc94190 100644 (file)
@@ -6,7 +6,6 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include <map>
 #include <memory>
 #include <string>
 #include <vector>
index b644313..c660bec 100644 (file)
@@ -74,9 +74,8 @@ void registry::global(uint32_t name, char const *iface, uint32_t v) {
    auto b = this->bindings.find(iface);
    if (b != this->bindings.end())
       b->second(this->proxy, name, v);
-   else
-      logdebug("wl::registry @ %p global n %u i %s v %u", this->proxy, name,
-               iface, v);
+   logdebug("wl::registry @ %p global n %u i %s v %u", this->proxy, name,
+            iface, v);
 }
 
 void registry::global_remove(uint32_t name) {}
index da3cc29..df9b68e 100644 (file)
@@ -6,7 +6,7 @@
 #include "util.h"
 
 #include <functional>
-#include <map>
+#include <unordered_map>
 #include <memory>
 #include <vector>
 
@@ -69,7 +69,7 @@ struct display {
 //           |___/                |___/
 struct registry : public wayland_proxy<struct wl_registry> {
    typedef std::function<void(struct wl_registry *, uint32_t, uint32_t)> binder;
-   std::map<std::string, binder> bindings;
+   std::unordered_map<std::string, binder> bindings;
 
    registry(struct wl_display *d);
    ~registry();
@@ -298,9 +298,9 @@ struct screen : public wayland_proxy<struct ivi_controller_screen>,
 //  \___\___/|_| |_|\__|_|  \___/|_|_|\___|_|
 //
 struct controller : public wayland_proxy<struct ivi_controller> {
-   std::map<uint32_t, std::unique_ptr<struct surface>> surfaces;
-   std::map<uint32_t, std::unique_ptr<struct layer>> layers;
-   std::map<uint32_t, std::unique_ptr<struct screen>> screens;
+   std::unordered_map<uint32_t, std::unique_ptr<struct surface>> surfaces;
+   std::unordered_map<uint32_t, std::unique_ptr<struct layer>> layers;
+   std::unordered_map<uint32_t, std::unique_ptr<struct screen>> screens;
 
    typedef std::pair<char const *, std::function<void(struct controller *)>>
       name_task_pair;