Index: uspace/lib/cpp/include/impl/map.hpp
===================================================================
--- uspace/lib/cpp/include/impl/map.hpp	(revision 48f09f2fc1ca62fd13e779392828eb7b308c6c99)
+++ uspace/lib/cpp/include/impl/map.hpp	(revision e8ebed90439bdb1b32ddca9816d481ea09dc05aa)
@@ -270,5 +270,27 @@
              */
 
-            // TODO:
+            mapped_type& operator[](const key_type& key)
+            {
+                auto parent = tree_.find_parent_for_insertion(key);
+                if (parent && tree_.keys_equal(tree_.get_key(parent->value), key))
+                    return parent->value.second;
+
+                auto node = new node_type{value_type{key, mapped_type{}}};
+                tree_.insert_node(node, parent);
+
+                return node->value.second;
+            }
+
+            mapped_type& operator[](key_type&& key)
+            {
+                auto parent = tree_.find_parent_for_insertion(key);
+                if (parent && tree_.keys_equal(tree_.get_key(parent->value), key))
+                    return parent->value.second;
+
+                auto node = new node_type{value_type{move(key), mapped_type{}}};
+                tree_.insert_node(node, parent);
+
+                return node->value.second;
+            }
 
             /**
@@ -505,4 +527,6 @@
                 aux::rbtree_single_policy
             >;
+
+            using node_type = typename tree_type::node_type;
 
             tree_type tree_;
