1. 1b9a4ff Still more P0202 constexpr-ifying. This batch is: for_each/for_each_n/lexicographical_compare by Marshall Clow · 7 years ago
  2. 4bfb931 More P0202 constexpr work. This commit adds fill/fill_n/generate/generate_n/unique/unique_copy. I removed a specialization of fill_n that recognized when we were dealing with raw pointers and 1 byte trivially-assignable types and did a memset, because the compiler will do that optimization for us. by Marshall Clow · 7 years ago
  3. 12c7423 More P0202 constexpr-ifying in <algorithm>. This commit handles replace/replace_if/replace_copy/replace_copy_if. by Marshall Clow · 7 years ago
  4. 99894b6 More P0202 constexpr-ifying in <algorithm>. This commit handles 'transform'. by Marshall Clow · 7 years ago
  5. 12f0a77 More constexpr algorithms from P0202. search/search_n by Marshall Clow · 7 years ago
  6. d57c03d More constexpr algorithms from P0202: lower_bound, upper_bound, equal_range, binary_search by Marshall Clow · 7 years ago
  7. 6538e28d More constexpr (re P0202) - equal and mismatch by Marshall Clow · 7 years ago
  8. 056f15e More constexpr from P0202. count and count_if. Also fix a comment that Morwenn noted. by Marshall Clow · 7 years ago
  9. 8694428 More P0202 constexpr-ifying. All the find_XXX algorithms in this commit. by Marshall Clow · 7 years ago
  10. 674f912 partition_point gets the P0202 treatment by Marshall Clow · 7 years ago
  11. 706ffef More constexpr algorithms from P0202. any_of/all_of/none_of. by Marshall Clow · 7 years ago
  12. 49c7643 First part of P0202: Adding constexpr modifiers to functions in <algorithm> and <utility>. This commit is all the is_XXX algorithms. by Marshall Clow · 7 years ago
  13. d835e59 Add the C++17 extensions to std::search. Include the default searcher, but not the Boyer-Moore or Boyer-Moore-Horspool searcher (yet). BUT put the BM and BMH tests in place, marked to XFAIL. The other searchers will follow soon by Marshall Clow · 7 years ago
  14. 9a0a004 [libcxx] Fix intrinsics for MSVC by Shoaib Meenai · 7 years ago
  15. 42bfedd Rename identifiers named `__output` by Alexander Richardson · 8 years ago
  16. 05da5b0 Fix PR#35119 : set_union misbehaves with move_iterators. Thanks to Denis Yaroshevskiy for both the bug report and the fix. by Marshall Clow · 8 years ago
  17. 08bba64 Revert 313789 because gcc doesn't like it by Marshall Clow · 8 years ago
  18. 8f27eef Mark the __eval methods on independent_bits_engine (and __independent_bits_engine) as const, since they make no changes to the object. NFC. by Marshall Clow · 8 years ago
  19. 5beb2c3 Fix a bit of UB in __independent_bits_engine. Fixes PR#34663 by Marshall Clow · 8 years ago
  20. a763b36 Fix PR31166: std::inplace_merge seems to be unstable. Thanks to Jan Wilken Dörrie for the suggested fix. by Marshall Clow · 8 years ago
  21. 316a3e5 [libc++] Clean up cl warning 4231 disabling by Shoaib Meenai · 8 years ago
  22. a016efb [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows by Eric Fiselier · 8 years ago
  23. 89918ca Remove uses of _UI because Windows is evil and tchar.h #define's it by Eric Fiselier · 8 years ago
  24. 5b7c98e Last commit included some extra constexpr; remove them by Marshall Clow · 8 years ago
  25. 1d02996 Make for_each_n only avaliable on C++17 by Marshall Clow · 8 years ago
  26. d5c65ff Add non-parallel version of for_each_n (+tests) from the Parallelism TS by Marshall Clow · 8 years ago
  27. 80f8cfb Don't interfere with the __builtin_foo namespace under MSVC by Eric Fiselier · 8 years ago
  28. 5d50aa3 [libc++] Refactor Windows support headers. by Eric Fiselier · 8 years ago
  29. ddda456 Cleanup _LIBCPP_HAS_NO_<c++11-feature> in algorithm by Eric Fiselier · 8 years ago
  30. 66f1ec4 Fix C++17 dylib build by Eric Fiselier · 8 years ago
  31. 0f37a41 Remove random_shuffle in C++17. Please use shuffle instead. If you have to, you cant get it back by defining _LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE before including any libc++ headers. by Marshall Clow · 8 years ago
  32. 5741d86 Replace identifiers called `__out` because Windows.h #defines it. by Eric Fiselier · 8 years ago
  33. 14bd0bf Fix __wrap_iter in debug mode and apply _NOEXCEPT_DEBUG to it by Eric Fiselier · 8 years ago
  34. fd83822 Fix unused parameters and variables by Eric Fiselier · 8 years ago
  35. b977579 [libcxx] remove unused code by Aditya Kumar · 8 years ago
  36. 1c7fe12 Fixes for LWG 2598, 2686, 2739, 2742, 2747, and 2759, which were adopted last week in Issaquah by Marshall Clow · 9 years ago
  37. e715470 Implement C++17 std::sample. by Eric Fiselier · 9 years ago
  38. 331fb80 Remove trailing WS [NFC] by Aditya Kumar · 9 years ago
  39. 19b4035 Implement LCM and GCD for C++17. Same code as for Library Fundamentals TS. by Marshall Clow · 9 years ago
  40. 331d215 Add heterogeneous comparator support for __debug_less. Fixes PR17147. by Eric Fiselier · 9 years ago
  41. f07dd8d Add is_swappable/is_nothrow_swappable traits by Eric Fiselier · 9 years ago
  42. b10079e Remove unused internal routines. No functional change by Marshall Clow · 9 years ago
  43. 28cc4dd Implement P0253R1: Fixing a design mistake in the searchers interface. by Marshall Clow · 9 years ago
  44. 146c14a Implement P0025R0: 'An algorithm to clamp a value between a pair of boundary values' for C++17 by Marshall Clow · 9 years ago
  45. 76b4afc Fix PR#25973 : 'basic_string::assign(InputIt, InputIt) doesn't provide the strong exception safety guarantee'. This turned out to be a pervasive problem in <string>, which required a fair amount of rework. Add in an optimization for when iterators provide noexcept increment/comparison/assignment/dereference (which covers many of the iterators in libc++). Reviewed as http://reviews.llvm.org/D15862 by Marshall Clow · 9 years ago
  46. def501d Make reverse() call iter_swap like the standard says, instead of calling swap directly. No real change. by Marshall Clow · 10 years ago
  47. 251c629 Fix warnings about pessimizing return moves for C++11 and higher by Dimitry Andric · 10 years ago
  48. a6438ca Fix PR#24267. use numeric_limits::max instead of ~0 for 'all ones', since that might give wrong answers on a 1's complement machine. by Marshall Clow · 10 years ago
  49. adfdae1 Fix a self-move bug in inplace_merge. Thanks to Ted and Dexon for the report and the suggested fix. by Marshall Clow · 10 years ago
  50. 5b31205 Fix some places where we could call memmove(null,xxx,0) - which is UB by Marshall Clow · 10 years ago
  51. 0b0671a Fix for LWG Issue 2369: constexpr max(initializer_list) vs max_element by Marshall Clow · 10 years ago
  52. 002144f Fix PR 22541: When values are equal, minmax should return the rightmost one in the initializer_list by Marshall Clow · 10 years ago
  53. 5154402 [libcxx] Properly convert the count arguments to the *_n algorithms before use. by Eric Fiselier · 10 years ago
  54. c281a7a Get tests running with warnings. Fix warnings in headers and tests by Eric Fiselier · 10 years ago
  55. b9595b7 Fix PR#22433. The algorithm is_partitioned was testing an item in the middle of the sequence twice. by Marshall Clow · 10 years ago
  56. 0b48cf9 Fix PR#22427. The implementation of inplace_merge had a \'small data set\' optimization; if either half of the merge was small (i.e, less than 9 items), it did an inplace merge rather than allocating a buffer and doing a faster/smarter merge. However, this failed to satisfy the complexity requirements in the standard. Remove that code. Add tests to check the complexity, and add the same tests for std::merge, since we are in that section of the test suite anyway. by Marshall Clow · 10 years ago
  57. 526e092 Reorder a couple of operations in inplace_merge so that we can meet the complexity guidelines mandated by the standard. References PR22427 by Marshall Clow · 10 years ago
  58. 847ee13 Fix use of operator comma in is_permutation and delete comma operator for test iterators. by Eric Fiselier · 11 years ago
  59. 910285b [libcxx] Fix use of operator comma where the types can be user defined by Eric Fiselier · 11 years ago
  60. bd7c7b5 Fix for mismatch to handle evil iterators which overload operator comma by Marshall Clow · 11 years ago
  61. c1bd919 NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. by Eric Fiselier · 11 years ago
  62. 8b51260 Fix std::make_heap's worst case time complexity by David Majnemer · 11 years ago
  63. 9b0af34 Make the helper routines in string really be constexpr. This required a bit of refacoring in algorithm as well. Give them better names while we're at it. All of these are internal rotines; no visible functionality change. by Marshall Clow · 11 years ago
  64. 06965c1 Per N3924, mark random_shuffle as deprecated in the synopsis for <algorithm>. Since we don't actually do anything when a call is deprecated, there is no functionality change. Maybe someday, we'll decide to warn when using a deprecated function. by Marshall Clow · 11 years ago
  65. 9d67c6d Implement LWG2350: min, max, and minmax should be constexpr. by Marshall Clow · 11 years ago
  66. 5f878d4 G M: Restore the ability for libcxx to compile again on mingw 64. by Howard Hinnant · 12 years ago
  67. 145afa1 Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG. by Howard Hinnant · 12 years ago
  68. fc88dbd Debug mode for string. This commit also marks the first time libc++ debug-mode has found a bug (found one in regex). Had to play with extern templates a bit to get this to work since string is heavily used within libc++.dylib. by Howard Hinnant · 12 years ago
  69. 179b1f8 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 · 12 years ago
  70. 5d1a701 Xing Xue: port to IBM XLC++/AIX. by Howard Hinnant · 12 years ago
  71. f0544c2 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 · 12 years ago
  72. 0be8f64 Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which is by Howard Hinnant · 12 years ago
  73. 0f242be Taking another swing at correctly optimizing fill_n. by Howard Hinnant · 12 years ago
  74. ce075cf Constrain fill_n -> memset operations to include implicit convertibility to unsigned char. This fixes http://llvm.org/bugs/show_bug.cgi?id=16764. Also a drive-by fix on a chrono test suite bug. by Howard Hinnant · 12 years ago
  75. 8bb1dbb Fix a bug in std::fill_n where memset would end up being called in cases when it shouldn’t. by Anders Carlsson · 12 years ago
  76. fce85ba Fix incorrect type usage; nice catch by Sebastian by Marshall Clow · 12 years ago
  77. 0b0bbd2 Implement n3607: 'equal', 'mismatch', and 'is_permutation' by Marshall Clow · 12 years ago
  78. b13fcad Somehow search_n never got tested, so of course it had a bug in it. This fixes http://llvm.org/bugs/show_bug.cgi?id=15667. by Howard Hinnant · 12 years ago
  79. b6e5f85 Change the 'result_type' from unsigned to 'uint_fast32_t'. This eliminates truncation warnings on Linux by Marshall Clow · 12 years ago
  80. d3d4356 Marcin Zalewski: Change the name of a template parameter in __copy_backward from _InputIterator to _BidirectionalIterator to better document the intent of the algorithm. by Howard Hinnant · 12 years ago
  81. cd47cbc Provide a way to disable use of extern templates in libc++. This is intended for the clients of libc++, not the libc++ build. The dylib should always contain the extern templates. To disable the client needs to put -D'_LIBCPP_EXTERN_TEMPLATE(...)=' on the command line. by Howard Hinnant · 13 years ago
  82. aca09de Performance tweaking rotate. by Howard Hinnant · 13 years ago
  83. a1d07d5 <algorithm> no longer needs to include <cstdlib>, but can get away with just <cstddef>. This was brought to my attention by Salvatore Benedetto in his port to a bare-metal coretex-m3. This exposed two test bugs where an explicit #include <cstdlib> was needed. by Howard Hinnant · 13 years ago
  84. e386b7b Update <random> with constexpr support. Patch contributed by Jonathan Sauer. by Howard Hinnant · 13 years ago
  85. 788c997 This is an initial commit of constexpr support as proposed by Richard Smith. This by no means completes constexpr support. Indeed, it hardly scratches the surface. All it does is lay the foundation in <__config> and changes those few places in the library that are already using that foundation. by Howard Hinnant · 13 years ago
  86. b34b4819 The exception recovery mechanism for the uninitialized_* algorithms did not work for iterators into discontiguous memory. by Howard Hinnant · 13 years ago
  87. c206366 Quash a whole bunch of warnings by Howard Hinnant · 13 years ago
  88. c003db1 Further macro protection by replacing _[A-Z] with _[A-Z]p by Howard Hinnant · 13 years ago
  89. ab4f438 Add protection from min/max macros by Howard Hinnant · 13 years ago
  90. 1c2c87c Remove redundant iterator assignment detected by Marshall Clow by Howard Hinnant · 13 years ago
  91. 0176bc6 Fixed bug in __independent_bits_engine found by Nick (from stackoverflow) by Howard Hinnant · 14 years ago
  92. e438337 More windows port work by Ruben Van Boxem by Howard Hinnant · 14 years ago
  93. 073458b Windows support by Ruben Van Boxem. by Howard Hinnant · 14 years ago
  94. f554add Initial checkin for debug mode (version 2) by Howard Hinnant · 14 years ago
  95. 54976f2 Fixed PR10574: http://llvm.org/bugs/show_bug.cgi?id=10574 by Howard Hinnant · 14 years ago
  96. ce48a11 _STD -> _VSTD to avoid macro clash on windows by Howard Hinnant · 14 years ago
  97. a676f7d noexcept for <utility>. This included a little repair on pair, and some noexcept workarounds. by Howard Hinnant · 14 years ago
  98. 99847d2 Fix copy_n to increment only n-1 times for an input iterator. This works much better with std::istream_iterator<int>(std::cin). Credit: Matan Nassau. by Howard Hinnant · 14 years ago
  99. a0fe8c4 Chris Jefferson noted many places where function calls needed to be qualified (thanks Chris). by Howard Hinnant · 14 years ago
  100. ca74048 N3142. Many of these traits are just placeholders with medium quality emulation; waiting on compiler intrinsics to do it right. by Howard Hinnant · 14 years ago