summaryrefslogtreecommitdiff
path: root/src/maps/hmap.tmpl
diff options
context:
space:
mode:
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 )