core::Hashmap implements intrusive hashmap with incremental rehashing. It is rather big template class.
To reduce code size and compilation times, it would be great to extract most of its internals to a non-template implementation class. All existing code will continue using Hashmap, however its methods will mostly just invoke similar methods of HashmapImpl and make some type casts. This way, the template part will be small, and non-template part will be compiled once and reused.
core::Hashmap implements intrusive hashmap with incremental rehashing. It is rather big template class.
To reduce code size and compilation times, it would be great to extract most of its internals to a non-template implementation class. All existing code will continue using Hashmap, however its methods will mostly just invoke similar methods of HashmapImpl and make some type casts. This way, the template part will be small, and non-template part will be compiled once and reused.
We use the same approach with core::Pool and core::PoolImpl.