1. 81d0dbd Address "always inline function is not always inlinable" warning with GCC. by Eric Fiselier · 7 years ago
  2. 76b2685 Implement LWG 2946, 3075 and 3076. Reviewed as https://reviews.llvm.org/D48616 by Marshall Clow · 7 years ago
  3. 5a823d8 Mark __clear_and_shrink() as noexcept. This prevents the generation of a catch block and call to terminate in string's move assignment. Thanks to Howard for the 'catch'. by Marshall Clow · 7 years ago
  4. 4a6f3c4 Implement LWG3034: P0767R1 breaks previously-standard-layout types by Marshall Clow · 8 years ago
  5. fb36d079 Low-hanging fruit optimization in string::__move_assign(). by Vedant Kumar · 8 years ago
  6. 6d9f750 Implement deduction guide for basic_string as described in P0433 by Marshall Clow · 8 years ago
  7. fc94027 Fix PR#31454 - 'basic_string<T>::push_back() crashes if sizeof(T)>sizeof(long long)'. We were mishandling the small-string optimization calculations for very large 'characters'. This may be an ABI change (change the size of) strings of very large 'characters', but since they never worked, I'm not too concerned. by Marshall Clow · 8 years ago
  8. 785ae3e Change a static_assert to check for is_trivial instead of is_pod, as is mandated by P0767. by Marshall Clow · 8 years ago
  9. 800259c Implement P0457R2: 'String Prefix and Suffix Checking' for c++2a by Marshall Clow · 8 years ago
  10. 506a09b Fix std::string::data() symbol during library build. by Eric Fiselier · 8 years ago
  11. 25a7ba4 More of P0600 - '[[nodiscard]] in the Library' mark empty() as nodiscard in string, string_view, and the free function std::empty(). Removed tabs from <string_view>, which is why the diff is so big. by Marshall Clow · 8 years ago
  12. da01839 Refactor _LIBCPP_<LITTLE|BIG>_ENDIAN by Eric Fiselier · 8 years ago
  13. 064028b Add even more string_view tests. These found some bugs in the default parameter value for rfind/find_last_of/find_last_not_of by Marshall Clow · 8 years ago
  14. 191b7d1 [libc++] Hoist extern template above first use by Shoaib Meenai · 8 years ago
  15. 316a3e5 [libc++] Clean up cl warning 4231 disabling by Shoaib Meenai · 8 years ago
  16. 5b67cd3 [libc++] Mark string operator+ _LIBCPP_FUNC_VIS by Shoaib Meenai · 8 years ago
  17. 7e17e52 Fix unrepresentable enum for clang-cl unstable ABI by Ben Craig · 8 years ago
  18. 8e07cad [libc++] Hoist explicit instantiation above implicit. NFC by Shoaib Meenai · 8 years ago
  19. 9ffacf3 Fix more unreserved names by Eric Fiselier · 8 years ago
  20. a016efb [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows by Eric Fiselier · 8 years ago
  21. 414d17c Cleanup _LIBCPP_HAS_NO_<c++11-feature> in the string library. by Eric Fiselier · 9 years ago
  22. e84fcb5 Fix PR32642 - string::insert and string::append don't work with move_iterator. by Eric Fiselier · 9 years ago
  23. c88580c [libcxx] Fix __compressed_pair so it doesn't copy the argument multiple times, and add constexpr. by Eric Fiselier · 9 years ago
  24. fa5f2c5 string: Remove always_inline from basic_string::__init by Duncan P. N. Exon Smith · 9 years ago
  25. 4069c2b Implement LWG#2761: 'basic_string should require that charT match traits::char_type'. Tests for string_view, too by Marshall Clow · 9 years ago
  26. 84a2dad Disable unsigned integer sanitizer for basic_string::replace(). Patch from tomcherry@google.com by Eric Fiselier · 9 years ago
  27. bad28c4 [libc++] Make _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS export members by Shoaib Meenai · 9 years ago
  28. 63895ca Mark a couple for basic_string member templates as inline. no ABI change this time. by Eric Fiselier · 9 years ago
  29. de547c6 Remove more basic_string member function templates from the dylib exports by Eric Fiselier · 9 years ago
  30. dd3ba79 [libc++] Fix PR 31938 - std::basic_string constructors use non-deductible parameter types. by Eric Fiselier · 9 years ago
  31. dfc9947 Mark basic_string::assign templates as inline to improve ABI stability. by Eric Fiselier · 9 years ago
  32. d107be8 Fix PR#31779: basic_string::operator= isn't exception safe. by Marshall Clow · 9 years ago
  33. 5363be7 Fix GCC C++03 build by hiding default template argument in C++03 by Eric Fiselier · 9 years ago
  34. 38590b3 Fix std::string assignment ambiguity from braced initializer lists. by Eric Fiselier · 9 years ago
  35. e2f2d1e [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS by Eric Fiselier · 9 years ago
  36. 780b51d Add tests for unordered container tests and std::string by Eric Fiselier · 9 years ago
  37. fd83822 Fix unused parameters and variables by Eric Fiselier · 9 years ago
  38. 1c7fe12 Fixes for LWG 2598, 2686, 2739, 2742, 2747, and 2759, which were adopted last week in Issaquah by Marshall Clow · 9 years ago
  39. ebcc86e Add 'inline' but not 'always_inline' to std::strings destructor. by Eric Fiselier · 9 years ago
  40. 0f0a077 Remove additional function template definitions from the dylib by Eric Fiselier · 9 years ago
  41. a553330 Optimize filesystem::path by providing weaker exception guarantees. by Eric Fiselier · 9 years ago
  42. 31fdcf3 Revert "Added 'inline' attribute to basic_string's destructor" by Mehdi Amini · 9 years ago
  43. 8250781 Added 'inline' attribute to basic_string's destructor by Aditya Kumar · 9 years ago
  44. 35355bb Remove two ABI symbols added after the 3.9 release by Eric Fiselier · 9 years ago
  45. f2464a9 Change a couple of 'template <typename's to 'template <class' which is what we use in the rest of the library. by Marshall Clow · 9 years ago
  46. 54f0981 Implement proposed resolution for LWG#2758. Reviewed as D24446. Normally, I would wait for these to be voted upon at a committee meeting (November), but the current draft standard is broken, and this should fix it. (And if it doesn't, we want to know about it soonest) by Marshall Clow · 9 years ago
  47. f8f31c4 [libc++] Add _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY to support GCC ABI compatibility by Eric Fiselier · 9 years ago
  48. 49e2967 [libc++] Fix and document visibility attributes for Clang, GCC and Windows. by Eric Fiselier · 9 years ago
  49. a75c1bf Revert r280944 - Added 'inline' attribute to basic_string's destructor by Eric Fiselier · 9 years ago
  50. b839888 Added 'inline' attribute to basic_string's destructor by Aditya Kumar · 9 years ago
  51. a77bb8e Fix PR#30303 - no matching function for call to '__ptr_in_range' by Marshall Clow · 9 years ago
  52. 7e1a230 Fix Bug 30240 - std::string: append(first, last) error when aliasing. Add test cases for append/insert/assign/replace while we're at it, and fix a similar bug in insert. by Marshall Clow · 9 years ago
  53. d437fa5 Add an _LIBCPP_NORETURN inline function named __throw_XXX for each exception type we define. They either construct and throw the exception, or abort() (if exceptions are disabled). Use these functions everywhere instead of assert()ing when exceptions are disabled. WARNING: This is a behavior change - but only with exceptions disabled. Reviewed as: https://reviews.llvm.org/D23855. by Marshall Clow · 9 years ago
  54. 51b4aee Add 'inline' attribute to __init to inline the basic_string's constructor by Sebastian Pop · 9 years ago
  55. 053d81c Implement std::string_view as described in http://wg21.link/P0254R1. Reviewed as https://reviews.llvm.org/D21459 by Marshall Clow · 9 years ago
  56. 89dd1dd Fix most GCC attribute ignored warnings by Eric Fiselier · 10 years ago
  57. 89685ed Recommit r263036 with additional inlining, so that it will continue to work with existing system dylibs. Implements LWG#2583 by Marshall Clow · 10 years ago
  58. 47c3a474 Revert r263036, it's ABI-breaking. by Nico Weber · 10 years ago
  59. ffc888b Implement LWG#2579: Inconsistency wrt Allocators in basic_string assignment vs. basic_string::assign by Marshall Clow · 10 years ago
  60. e96f8b5 Implement LWG#2583: There is no way to supply an allocator for basic_string(str, pos) by Marshall Clow · 10 years ago
  61. dd1729f Implement P0272R1: Give 'std::string' a non-const '.data()' member function by Marshall Clow · 10 years ago
  62. 28cc4dd Implement P0253R1: Fixing a design mistake in the searchers interface. by Marshall Clow · 10 years ago
  63. 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 · 10 years ago
  64. 906c872 Cleanup: move visibility/linkage attributes to the first declaration. by Evgeniy Stepanov · 10 years ago
  65. a66a7b3 ABI versioning macros for libc++. by Evgeniy Stepanov · 10 years ago
  66. 8428a9d Implement LWG#2063, and update the issues links to point to the github generated pages by Marshall Clow · 10 years ago
  67. e57e3ae Fix most GCC warnings during build. Only -Wattribute left. by Eric Fiselier · 10 years ago
  68. 8465ea4 [libcxx] Optimize away unneeded length calculation in basic_string::compare(const char*) by Eric Fiselier · 10 years ago
  69. 1378a5a implement more of N4258 - Cleaning up noexcept in the standard library. Specifically add new noexcept stuff to vector and string's move-assignment operations by Marshall Clow · 10 years ago
  70. 2d265ae Change char_traits<char16_t>::eof() to return 0xFFFF instead of 0xDFFF. Fixes PR#24342 by Marshall Clow · 10 years ago
  71. 87a8249 Enable and fix warnings during the build. by Eric Fiselier · 10 years ago
  72. e3fbe14 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 · 10 years ago
  73. 979550f While applying N4258, I forgot about LWG#2455, which modified the modifications. Correct those - h/t: Howard by Marshall Clow · 10 years ago
  74. cbf166a More of N4258 implementation. Mark all of our test_allocators as noexcept constructible. Make the constructors for basic_string noexcept all the time (under C++14). Update tests to reflect the new world order. More to come. by Marshall Clow · 10 years ago
  75. 9a79711 Rooting out more undefined behavior in char_traits. by Marshall Clow · 11 years ago
  76. f3e0e3a Move the test for zero-length into the char_traits (from string_view). Add tests to char_traits specializations by Marshall Clow · 11 years ago
  77. 910285b [libcxx] Fix use of operator comma where the types can be user defined by Eric Fiselier · 11 years ago
  78. 353f358 Fix char_traits functions for GCC compatibility. by Dan Albert · 11 years ago
  79. c1bd919 NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. by Eric Fiselier · 11 years ago
  80. 3dd8846 Fix bug #20335 - memory leak when move-constructing a string with unequal allocator. Thanks to Thomas Koeppe for the report by Marshall Clow · 11 years ago
  81. 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
  82. 5f0701f Preparation for <string_view>. More helper functions that can be shared between <string> and <string_view>. No functionality change by Marshall Clow · 11 years ago
  83. f03763a Fix typos by Alp Toker · 11 years ago
  84. 53b88da Implement LWG #2268: Setting a default argument in the declaration of a member function assign of std::basic_string. by Marshall Clow · 12 years ago
  85. 53d8b20 Remove tabs that crept in during an earlier refactoring. No functionality change by Marshall Clow · 12 years ago
  86. 8283ba3 Refactor some of the operations in <string> so that they can be reused; no functionality change by Marshall Clow · 12 years ago
  87. e427322 Fix an off-by-one error in basic_string::__grow_by, where it would incorrectly throw length_error (instead of bad_alloc) when attempting to resize the string to 'max_size()'. Add tests for resizing to max_size +/-1 by Marshall Clow · 12 years ago
  88. f5fa538 Fixes PR17148 by Marshall Clow · 12 years ago
  89. 3ceafc7 Mark namespaces for user defined literals as 'inline' by Marshall Clow · 12 years ago
  90. 3af48ef G M: Changes all references to "x inline" to "inline x" where x = _libcpp_always_inline or _libcpp_inline_visibility macros. by Howard Hinnant · 12 years ago
  91. 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
  92. 5d1a701 Xing Xue: port to IBM XLC++/AIX. by Howard Hinnant · 12 years ago
  93. 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
  94. d098713 War on tabs by Howard Hinnant · 12 years ago
  95. 0be8f64 Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which is by Howard Hinnant · 12 years ago
  96. ca0be23 Implement string suffixes from N3642 by Marshall Clow · 12 years ago
  97. eec7218 Implement full support for non-pointer pointers in custom allocators for string. This completes the custom pointer support for the entire library. by Howard Hinnant · 12 years ago
  98. 35abaab This patch introduces an alternative layout for basic_string which when the string is short, the data pointer will be word-aligned. It can be activated with -D_LIBCPP_ALTERNATE_STRING_LAYOUT. These two different layouts (the default and _LIBCPP_ALTERNATE_STRING_LAYOUT) are not ABI compatible with each other. Once one is chosen for a given platform, it is disruptive to change it. by Howard Hinnant · 13 years ago
  99. 2100515 Modest performance improvement for std::string's operator==. by Howard Hinnant · 13 years ago
  100. 6e41256 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 · 13 years ago