summaryrefslogtreecommitdiff
path: root/src/maps/hmap.tmpl
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2013-04-06 13:14:43 +0200
committerPaul Buetow <paul@buetow.org>2013-04-06 13:14:43 +0200
commit796609174e5ecb35fab992969e7690186840048a (patch)
tree1e4370d47f2a5c050b768c228e73e028a6611cb8 /src/maps/hmap.tmpl
parent312fe18cb5f97143f3600b207e979bc559256b6f (diff)
tagging ychat-0.7.3ychat-0.7.3
Diffstat (limited to 'src/maps/hmap.tmpl')
-rw-r--r--src/maps/hmap.tmpl11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/maps/hmap.tmpl b/src/maps/hmap.tmpl
index 10facac..dcd0426 100644
--- a/src/maps/hmap.tmpl
+++ b/src/maps/hmap.tmpl
@@ -104,6 +104,17 @@ void hmap<obj_type, key_type>::del_elem( const key_type & k )
array[ i_current_pos ].info = DELETED;
}
+// Remove item x from the hash table.
+template <class obj_type, class key_type>
+void hmap<obj_type, key_type>::rename_key( const key_type & k1, const key_type & k2 )
+{
+ int i_current_pos = find_pos( k1 );
+ if( is_active( i_current_pos ) ) {
+ array[ i_current_pos ].info = DELETED;
+ add_elem( array[ i_current_pos ].element, k2 );
+ }
+}
+
// Finds item x and resets its value.
template <class obj_type, class key_type>
obj_type hmap<obj_type, key_type>::set_elem( const obj_type & x, const key_type & k )