1. d757090 Skip chash computation in insert/emplace if the unconstrained hash matches. by Eric Fiselier · 8 years ago
  2. f653588 Fix undefined behavior in __hash_table by Eric Fiselier · 8 years ago
  3. 41aafc2 Check for unconstrained hash equality before constrained hash equality. by Eric Fiselier · 8 years ago
  4. 5766391 Don't compute modulus of hash if it is smaller than the bucket count. by Eric Fiselier · 8 years ago
  5. 95a22db [libc++] Check hash before calling __hash_table key_eq function by Kwasi Mensah · 8 years ago
  6. 38af0f8 Improve performance of unordered_set<uint32_t>::find by 45%. Add benchmarks. by Eric Fiselier · 8 years ago
  7. 1a93312 Fix static assert problem on gcc; remove XFAILs that I put in in r274250 by Marshall Clow · 8 years ago
  8. 0c99f18 Implement LWG#2436: 'Comparators for associative containers should always be CopyConstructible' by Marshall Clow · 8 years ago
  9. dc414cd Teach map/unordered_map how to optimize 'emplace(Key, T)'. by Eric Fiselier · 8 years ago
  10. 83c9dc1 Extract key to avoid preemptive mallocs in insert/emplace in associative containers by Eric Fiselier · 8 years ago
  11. 798ec84 unord: Extract key to avoid preemptive mallocs in insert/emplace by Duncan P. N. Exon Smith · 8 years ago
  12. 66e344f Rename <__hash_table> traits so they don't conflict with similar traits. by Eric Fiselier · 8 years ago
  13. 0493d02 Get <ext/hash_map> working again by Eric Fiselier · 8 years ago
  14. 9e9f42e Properly down-cast a sentinal node pointer through void* by Eric Fiselier · 8 years ago
  15. 2960ae2 Teach __hash_table how to handle unordered_map's __hash_value_type. by Eric Fiselier · 8 years ago
  16. 774c7c5 Recommit r260012 - Cleanup node-type handling in the unordered containers. by Eric Fiselier · 8 years ago
  17. 398588c Revert r260012 due to __gnu_cxx::hash_map breakage by Eric Fiselier · 8 years ago
  18. cf108eb Cleanup node-type handling in the unordered containers by Eric Fiselier · 8 years ago
  19. 9572235 unordered: Rename __construct_node_hash() to allow forwarding, NFC by Duncan P. N. Exon Smith · 9 years ago
  20. 5cf84e0 Use __rebind_pointer to avoid #ifdef block by Eric Fiselier · 9 years ago
  21. c8f54c2 Make noexcept specifications on __hash_table definitions match their declarations. by Eric Fiselier · 9 years ago
  22. a3b25f8 Cleanup: move visibility/linkage attributes to the first declaration. by Evgeniy Stepanov · 9 years ago
  23. 8966350 Fix warnings about pessimizing return moves for C++11 and higher by Dimitry Andric · 9 years ago
  24. 692177d Enable and fix warnings during the build. by Eric Fiselier · 9 years ago
  25. 7d914d1 Implement the first part of N4258: 'Cleaning up noexcept in the Library'. This patch deals with swapping containers, and implements a more strict noexcept specification (a conforming extension) than the standard mandates. by Marshall Clow · 9 years ago
  26. fdae69a Fix PR12999 - unordered_set::insert calls operator new when no insert occurs by Eric Fiselier · 9 years ago
  27. 66302c6 In many places, there was an #ifdef/#else block that selected one of two implmentations of rebind_alloc based on whether or not we had template aliases. Create a helper struct to encapsulate that bit of logic, and replace all the ifdefs with uses of that struct. No functionality change intented. by Marshall Clow · 9 years ago
  28. 59f573f Remove several unused forward declarations. Fixes PR22605. by Marshall Clow · 9 years ago
  29. f1b30c4 Handle function name conflicts in _LIBCPP_MSVCRT mode by Saleem Abdulrasool · 9 years ago
  30. 57947ca Rename pow2 functions in __hash_table to reflect that they are hash specific by Eric Fiselier · 9 years ago
  31. b953610 NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. by Eric Fiselier · 10 years ago
  32. 5e57142 Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG. by Howard Hinnant · 11 years ago
  33. 9a894d9 Zhihao Yuan noted that there were a few unneeded statements. Eliminated the unnecessary ones, and commented the ones that are there for non-obvious reasons such as to help things limp along in C++03 language mode. by Howard Hinnant · 11 years ago
  34. 0f678bd Nico Rieck: this patch series fixes visibility issues on Windows as explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. by Howard Hinnant · 11 years ago
  35. 193ef03 N3644 support for <unordered_set> and <unordered_map> by Marshall Clow · 11 years ago
  36. 824c199 debug mode for unordered_map. Also picked up a missing check and test in unordered_multimap. This wraps up debug mode for the unordered containers. by Howard Hinnant · 11 years ago
  37. 8b00e6c Ok, 3 major changes for debug mode in one commit: by Howard Hinnant · 11 years ago
  38. 0bb0a7c Debug mode for unordered_multiset. The exercise spotted a few places I had missed on unordered_set, so I picked those up as well. by Howard Hinnant · 11 years ago
  39. 3921364 Debug mode for unordered_set. I believe this to be fairly complete for by Howard Hinnant · 11 years ago
  40. 7a6b7ce Implement full support for non-pointer types in custom allocators. This is for the unordered containers only. This work still needs to be done on the sequence containers. by Howard Hinnant · 11 years ago
  41. 83eade6 No functionality change at this time. I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute. by Howard Hinnant · 11 years ago
  42. 33be35e Dimitry Andric: many visibility fixes. Howard: Much appreciated. Can you send me a patch to CREDITS.TXT? by Howard Hinnant · 12 years ago
  43. 7a44515 This commit establishes a new bucket_count policy in the unordered containers: The policy now allows a power-of-2 number of buckets to be requested (and that request honored) by the client. And if the number of buckets is set to a power of 2, then the constraint of the hash to the number of buckets uses & instead of %. If the client does not specify a number of buckets, then the policy remains unchanged: a prime number of buckets is selected. The growth policy is that the number of buckets is roughly doubled when needed. While growing, either the prime, or the power-of-2 strategy will be preserved. There is a small run time cost for putting in this switch. For very cheap hash functions, e.g. identity for int, the cost can be as high as 18%. However with more typical use cases, e.g. strings, the cost is in the noise level. I've measured cases with very cheap hash functions (int) that using a power-of-2 number of buckets can make look up about twice as fast. However I've also noted that a power-of-2 number of buckets is more susceptible to accidental catastrophic collisions. Though I've also noted that accidental catastrophic collisions are also possible when using a prime number of buckets (but seems far less likely). In short, this patch adds an extra tuning knob for those clients trying to get the last bit of performance squeezed out of their hash containers. Casual users of the hash containers will not notice the introduction of this tuning knob. Those clients who swear by power-of-2 hash containers can now opt-in to that strategy. Clients who prefer a prime number of buckets can continue as they have. by Howard Hinnant · 12 years ago
  44. f8880d0 As an extension, support incomplete types in the unordered containers to match what we already do in the associative containers. by Howard Hinnant · 13 years ago
  45. ec3773c Quash a whole bunch of warnings by Howard Hinnant · 13 years ago
  46. 9996844 Further macro protection by replacing _[A-Z] with _[A-Z]p by Howard Hinnant · 13 years ago
  47. 66c6f97 Add protection from min/max macros by Howard Hinnant · 13 years ago
  48. 08e1747 Windows support by Ruben Van Boxem. by Howard Hinnant · 13 years ago
  49. 199d0ae Fixed PR10507 (http://llvm.org/bugs/show_bug.cgi?id=10507) by Howard Hinnant · 13 years ago
  50. a73da5d Revert r136546, which was submitted without review. by Chandler Carruth · 13 years ago
  51. b59b929 Destruct elements of hash tables when removing individual entries from by Sean Hunt · 13 years ago
  52. 9f66bff Fix uninitialized loop counter. http://llvm.org/bugs/show_bug.cgi?id=10278 by Howard Hinnant · 13 years ago
  53. 0949eed _STD -> _VSTD to avoid macro clash on windows by Howard Hinnant · 13 years ago
  54. 2b1b2d4 Provide names for template and function parameters in forward declarations. The purpose is to aid automated documentation tools. by Howard Hinnant · 13 years ago
  55. 5f2f14c noexcept for <unordered_map>. by Howard Hinnant · 13 years ago
  56. df85e57 Fixed two problems found by Chris Jefferson: Made operator>> for char consistent with gcc. Opened an LWG issue on this one. 2) Renamed some private typedefs which are causing boost grief. by Howard Hinnant · 13 years ago
  57. 2529d02 Qualify calls to addressof with std::. Bug 9106 by Howard Hinnant · 13 years ago
  58. b64f8b0 license change by Howard Hinnant · 14 years ago
  59. 99acc50 visibility-decoration. by Howard Hinnant · 14 years ago
  60. bfd5530 Fix whitespace by Howard Hinnant · 14 years ago
  61. 73d21a4 Changed __config to react to all of clang's currently documented has_feature flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature. by Howard Hinnant · 14 years ago
  62. 324bb03 Fixing whitespace problems by Howard Hinnant · 14 years ago
  63. f5256e1 Wiped out some non-ascii characters that snuck into the copyright. by Howard Hinnant · 14 years ago
  64. bc8d3f9 libcxx initial import by Howard Hinnant · 14 years ago