diff options
Diffstat (limited to 'src/maps/hmap.tmpl')
| -rw-r--r-- | src/maps/hmap.tmpl | 11 |
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 ) |
