- 146c14a Implement P0025R0: 'An algorithm to clamp a value between a pair of boundary values' for C++17 by Marshall Clow · 9 years ago
- 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
- def501d Make reverse() call iter_swap like the standard says, instead of calling swap directly. No real change. by Marshall Clow · 10 years ago
- 251c629 Fix warnings about pessimizing return moves for C++11 and higher by Dimitry Andric · 10 years ago
- 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
- 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
- 5b31205 Fix some places where we could call memmove(null,xxx,0) - which is UB by Marshall Clow · 10 years ago
- 0b0671a Fix for LWG Issue 2369: constexpr max(initializer_list) vs max_element by Marshall Clow · 10 years ago
- 002144f Fix PR 22541: When values are equal, minmax should return the rightmost one in the initializer_list by Marshall Clow · 10 years ago
- 5154402 [libcxx] Properly convert the count arguments to the *_n algorithms before use. by Eric Fiselier · 10 years ago
- c281a7a Get tests running with warnings. Fix warnings in headers and tests by Eric Fiselier · 10 years ago
- 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
- 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
- 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
- 847ee13 Fix use of operator comma in is_permutation and delete comma operator for test iterators. by Eric Fiselier · 11 years ago
- 910285b [libcxx] Fix use of operator comma where the types can be user defined by Eric Fiselier · 11 years ago
- bd7c7b5 Fix for mismatch to handle evil iterators which overload operator comma by Marshall Clow · 11 years ago
- c1bd919 NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. by Eric Fiselier · 11 years ago
- 8b51260 Fix std::make_heap's worst case time complexity by David Majnemer · 11 years ago
- 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
- 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
- 9d67c6d Implement LWG2350: min, max, and minmax should be constexpr. by Marshall Clow · 11 years ago
- 5f878d4 G M: Restore the ability for libcxx to compile again on mingw 64. by Howard Hinnant · 12 years ago
- 145afa1 Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG. by Howard Hinnant · 12 years ago
- 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
- 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
- 5d1a701 Xing Xue: port to IBM XLC++/AIX. by Howard Hinnant · 12 years ago
- 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
- 0be8f64 Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which is by Howard Hinnant · 12 years ago
- 0f242be Taking another swing at correctly optimizing fill_n. by Howard Hinnant · 12 years ago
- 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
- 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
- fce85ba Fix incorrect type usage; nice catch by Sebastian by Marshall Clow · 12 years ago
- 0b0bbd2 Implement n3607: 'equal', 'mismatch', and 'is_permutation' by Marshall Clow · 12 years ago
- 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
- b6e5f85 Change the 'result_type' from unsigned to 'uint_fast32_t'. This eliminates truncation warnings on Linux by Marshall Clow · 12 years ago
- 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
- 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
- aca09de Performance tweaking rotate. by Howard Hinnant · 13 years ago
- 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
- e386b7b Update <random> with constexpr support. Patch contributed by Jonathan Sauer. by Howard Hinnant · 13 years ago
- 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
- b34b4819 The exception recovery mechanism for the uninitialized_* algorithms did not work for iterators into discontiguous memory. by Howard Hinnant · 13 years ago
- c206366 Quash a whole bunch of warnings by Howard Hinnant · 13 years ago
- c003db1 Further macro protection by replacing _[A-Z] with _[A-Z]p by Howard Hinnant · 13 years ago
- ab4f438 Add protection from min/max macros by Howard Hinnant · 13 years ago
- 1c2c87c Remove redundant iterator assignment detected by Marshall Clow by Howard Hinnant · 13 years ago
- 0176bc6 Fixed bug in __independent_bits_engine found by Nick (from stackoverflow) by Howard Hinnant · 14 years ago
- e438337 More windows port work by Ruben Van Boxem by Howard Hinnant · 14 years ago
- 073458b Windows support by Ruben Van Boxem. by Howard Hinnant · 14 years ago
- f554add Initial checkin for debug mode (version 2) by Howard Hinnant · 14 years ago
- 54976f2 Fixed PR10574: http://llvm.org/bugs/show_bug.cgi?id=10574 by Howard Hinnant · 14 years ago
- ce48a11 _STD -> _VSTD to avoid macro clash on windows by Howard Hinnant · 14 years ago
- a676f7d noexcept for <utility>. This included a little repair on pair, and some noexcept workarounds. by Howard Hinnant · 14 years ago
- 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
- a0fe8c4 Chris Jefferson noted many places where function calls needed to be qualified (thanks Chris). by Howard Hinnant · 14 years ago
- 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
- fb34010 LWG 1432 by Howard Hinnant · 14 years ago
- 412dbeb license change by Howard Hinnant · 15 years ago
- 007b26b Fixed bug in random_shuffle to avoid swapping with self by Howard Hinnant · 15 years ago
- 7609c9b 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 · 15 years ago
- b3371f6 Fixing whitespace problems by Howard Hinnant · 15 years ago
- 4eb27b7 US 122, N3106 by Howard Hinnant · 15 years ago
- c8edcb3 weekly test results plus a bug fix clang found by Howard Hinnant · 15 years ago
- f9d540b Completed [alg.random.shuffle]. by Howard Hinnant · 15 years ago
- 128ba71 patch by Jeffrey Yasskin for porting to Ubuntu Hardy. Everything was accepted except there were some bug fixes needed in <locale> for the __nolocale_* series. For the apple branch I ended up using templates instead of the var_args solution because it seemed both safer and more efficient. by Howard Hinnant · 15 years ago
- 5b08a8a Wiped out some non-ascii characters that snuck into the copyright. by Howard Hinnant · 15 years ago
- 3e51952 libcxx initial import by Howard Hinnant · 15 years ago