more_collections: Add `DefaultMap`.
authorJean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Tue, 4 Nov 2014 17:12:32 +0000 (12:12 -0500)
committerJean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Tue, 4 Nov 2014 17:12:32 +0000 (12:12 -0500)
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

lib/more_collections.nit

index 50117cf..bd441a1 100644 (file)
@@ -110,3 +110,13 @@ class HashMap3[K1: Object, K2: Object, K3: Object, V]
                level2[k2, k3] = v
        end
 end
+
+# A map with a default value.
+class DefaultMap[K: Object, V]
+       super HashMap[K, V]
+
+       # The default value.
+       var default: V
+
+       redef fun provide_default_value(key) do return default
+end