Thanks for the prompt reply Niall. I have got a few more questions. 1. I could not make out the use of _oldbuckets in the code. What purpose does it serve? 2. I see a swap() function which is not used anywhere in the codebase. Is it dead code? 3. And I have a generic question regarding std::atomic. I was trying to code the move constructor and finally ended up failing miserably to move the reference of _bucket. I could not figure out how to do it. Could you point me to some documentation which would help me to achieve the same. To give a fair idea about my last question, let me elaborate what I was trying to do. I have got the reference of _buckets and have assigned it to new variable using store and load methods of atomic. But, I am not confident if that is the right way to go about. And secondly, I see that I am not able to reset the reference of original. Thanks, Amarnath