#include #include #include #include #define YES 1 #define NO 0 #define USE_BOOST_UMAP YES #if USE_BOOST_UMAP == YES boost::unordered_map::iterator it; boost::unordered_map map; #else std::tr1::unordered_map::iterator it; std::tr1::unordered_map map; #endif int main(int argc, char** argv) { std::cout << "max load factor: " << map.max_load_factor() << std::endl; for (int i = 0; i < 8; i++) { std::cout << "load_factor: " << map.load_factor() << std::endl; std::cout << "size: " << map.size() << std::endl; std::cout << "bucket_count: " << map.bucket_count() << std::endl; map[i] = i; if (i == 5) { it = map.find(0); } } while (it != map.end()) { std::cout << it->second << std::endl; it++; } return 0; } /*****Results with boost::unordered_map*****/ /* max load factor : 1 load_factor : 0 size : 0 bucket_count : 16 load_factor : 0.0625 size : 1 bucket_count : 16 load_factor : 0.125 size : 2 bucket_count : 16 load_factor : 0.1875 size : 3 bucket_count : 16 load_factor : 0.25 size : 4 bucket_count : 16 load_factor : 0.3125 size : 5 bucket_count : 16 load_factor : 0.375 size : 6 bucket_count : 16 load_factor : 0.4375 size : 7 bucket_count : 16 0 */ /*****************************************/ /*****Results with std::tr1::unordered_map*****/ /*max load factor : 1 load_factor : 0 size : 0 bucket_count : 11 load_factor : 0.0909091 size : 1 bucket_count : 11 load_factor : 0.181818 size : 2 bucket_count : 11 load_factor : 0.272727 size : 3 bucket_count : 11 load_factor : 0.363636 size : 4 bucket_count : 11 load_factor : 0.454545 size : 5 bucket_count : 11 load_factor : 0.545455 size : 6 bucket_count : 11 load_factor : 0.636364 size : 7 bucket_count : 11 0 1 2 3 4 5 6 7 */ /*****************************************/