Peter Dimov

Results 371 comments of Peter Dimov

> and that the vector header seemingly does not include it, although it throws range_error... It probably calls `__throw_out_of_range`, which is defined in the compiled stdlib. This also prevents the...

My point was that _if_ you're going to throw `bad_alloc`, you should throw `std::bad_alloc` and not your own. If we're talking about e.g. `static_vector::push_back` exceeding capacity, I agree that `bad_alloc`...

`length_error` is explicitly documented as "If any operation would cause `size()` to exceed `max_­size()`, that operation throws an exception object of type `length_­error`." in http://eel.is/c++draft/string.require#1, but isn't consistently used by...

`stream_offset` is defined as `boost::intmax_t` here: https://github.com/boostorg/iostreams/blob/4d2e763ba8b88f3350fbea29b54507a3f5adf0f0/include/boost/iostreams/positioning.hpp#L36

This PR doesn't look correct, because it uses `noexcept` and `override` unconditionally. This will cause errors for C++03 and on MSVC versions earlier than 2015 (or 2013, I don't remember...

If you build Boost yourself instead of using Homebrew, does it still fail? Do the tests for ThrowException pass? Does it work without `-std=c++20`?

This PR is against master, and should be against develop.

Related: https://github.com/boostorg/mp11/commit/f24d1ca5df53fe9f70ae359a3b8ecd4bb86bcef2

I got tired of regenerating the header on every change. :-)