diff options
Diffstat (limited to 'libcxx')
-rw-r--r-- | libcxx/include/string | 4 | ||||
-rw-r--r-- | libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp | 9 | ||||
-rw-r--r-- | libcxx/www/cxx2a_status.html | 4 |
3 files changed, 13 insertions, 4 deletions
diff --git a/libcxx/include/string b/libcxx/include/string index f7eba7dee83..31ad307e57b 100644 --- a/libcxx/include/string +++ b/libcxx/include/string @@ -956,9 +956,11 @@ public: void resize(size_type __n, value_type __c); _LIBCPP_INLINE_VISIBILITY void resize(size_type __n) {resize(__n, value_type());} + void reserve(size_type __res_arg); _LIBCPP_INLINE_VISIBILITY void __resize_default_init(size_type __n); - void reserve(size_type __res_arg = 0); + _LIBCPP_INLINE_VISIBILITY + void reserve() _NOEXCEPT {reserve(0);} _LIBCPP_INLINE_VISIBILITY void shrink_to_fit() _NOEXCEPT {reserve();} _LIBCPP_INLINE_VISIBILITY diff --git a/libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp b/libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp index 7210152ea3c..8b9dc13db83 100644 --- a/libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp @@ -9,7 +9,9 @@ // <string> -// void reserve(size_type res_arg=0); +// Split into two calls for C++20 +// void reserve(); +// void reserve(size_type res_arg); #include <string> #include <stdexcept> @@ -44,6 +46,9 @@ test(S s, typename S::size_type res_arg) assert(s == s0); assert(s.capacity() >= res_arg); assert(s.capacity() >= s.size()); +#if TEST_STD_VER > 17 + assert(s.capacity() >= old_cap); // resize never shrinks as of P0966 +#endif } #ifndef TEST_HAS_NO_EXCEPTIONS else @@ -90,6 +95,7 @@ int main() test(s, 10); test(s, 50); test(s, 100); + test(s, 1000); test(s, S::npos); } } @@ -121,6 +127,7 @@ int main() test(s, 10); test(s, 50); test(s, 100); + test(s, 1000); test(s, S::npos); } } diff --git a/libcxx/www/cxx2a_status.html b/libcxx/www/cxx2a_status.html index 090f3cb9e0f..5b090a088a9 100644 --- a/libcxx/www/cxx2a_status.html +++ b/libcxx/www/cxx2a_status.html @@ -80,7 +80,7 @@ <tr><td><a href="https://wg21.link/P0809R0">P0809R0</a></td><td>LWG</td><td>Comparing Unordered Containers</td><td>Jacksonville</td><td></td><td></td></tr> <tr><td><a href="https://wg21.link/P0858R0">P0858R0</a></td><td>LWG</td><td>Constexpr iterator requirements</td><td>Jacksonville</td><td></td><td></td></tr> <tr><td><a href="https://wg21.link/P0905R1">P0905R1</a></td><td>CWG</td><td>Symmetry for spaceship</td><td>Jacksonville</td><td></td><td></td></tr> - <tr><td><a href="https://wg21.link/P0966R1">P0966R1</a></td><td>LWG</td><td><tt>string::reserve</tt> Should Not Shrink</td><td>Jacksonville</td><td></td><td></td></tr> + <tr><td><a href="https://wg21.link/P0966R1">P0966R1</a></td><td>LWG</td><td><tt>string::reserve</tt> Should Not Shrink</td><td>Jacksonville</td><td>Complete</td><td>8.0</td></tr> <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> <tr><td><a href="https://wg21.link/P0019R8">P0019R8</a></td><td>LWG</td><td>Atomic Ref</td><td>Rapperswil</td><td></td><td></td></tr> @@ -291,7 +291,7 @@ <!-- <tr><td></td><td></td><td></td><td></td></tr> --> </table> - <p>Last Updated: 27-Nov-2018</p> + <p>Last Updated: 28-Nov-2018</p> </div> </body> </html> |