diff options
Diffstat (limited to 'src/hash.h')
-rw-r--r-- | src/hash.h | 15 |
1 files changed, 7 insertions, 8 deletions
@@ -268,7 +268,7 @@ namespace Bu | |||
268 | 268 | ||
269 | for( uint32_t j = 0; j < src.nCapacity; j++ ) | 269 | for( uint32_t j = 0; j < src.nCapacity; j++ ) |
270 | { | 270 | { |
271 | if( src.isFilled( j ) ) | 271 | if( src.isFilled( j ) && !src.isDeleted( j ) ) |
272 | { | 272 | { |
273 | insert( src.aKeys[j], src.aValues[j] ); | 273 | insert( src.aKeys[j], src.aValues[j] ); |
274 | } | 274 | } |
@@ -283,12 +283,11 @@ namespace Bu | |||
283 | { | 283 | { |
284 | for( uint32_t j = 0; j < nCapacity; j++ ) | 284 | for( uint32_t j = 0; j < nCapacity; j++ ) |
285 | { | 285 | { |
286 | if( isFilled( j ) ) | 286 | if( isFilled( j ) && !isDeleted( j ) ) |
287 | if( !isDeleted( j ) ) | 287 | { |
288 | { | 288 | va.destroy( &aValues[j] ); |
289 | va.destroy( &aValues[j] ); | 289 | ka.destroy( &aKeys[j] ); |
290 | ka.destroy( &aKeys[j] ); | 290 | } |
291 | } | ||
292 | } | 291 | } |
293 | va.deallocate( aValues, nCapacity ); | 292 | va.deallocate( aValues, nCapacity ); |
294 | ka.deallocate( aKeys, nCapacity ); | 293 | ka.deallocate( aKeys, nCapacity ); |
@@ -310,7 +309,7 @@ namespace Bu | |||
310 | 309 | ||
311 | for( uint32_t j = 0; j < src.nCapacity; j++ ) | 310 | for( uint32_t j = 0; j < src.nCapacity; j++ ) |
312 | { | 311 | { |
313 | if( src.isFilled( j ) ) | 312 | if( src.isFilled( j ) && !src.isDeleted( j ) ) |
314 | { | 313 | { |
315 | insert( src.aKeys[j], src.aValues[j] ); | 314 | insert( src.aKeys[j], src.aValues[j] ); |
316 | } | 315 | } |