... a call to ranges::begin on an input range. This implements LWG 3286. The new wording for the single-argument constructor for subrange is implemented by splitting the constructor into two delegating constructors, one constrained by _S_store_size and the other by !_S_store_size. Tested on x86_64-pc-linux-gnu, both added tests fail before the patch and pass with the patch. libstdc++-v3/ChangeLog: LWG 3286 ranges::size is not required to be valid after a call to ranges::begin on an input range * include/std/ranges (subrange::subrange): Split single-argument constructor into two, one constrained by _S_store_size and another by !_S_store_size. (take_view::begin): Call size() before calling ranges::begin(_M_base). * testsuite/std/ranges/adaptors/lwg3286.cc: New test. * testsuite/std/ranges/subrange/lwg3286.cc: New test.
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
algorithm | Loading commit data... | |
any | Loading commit data... | |
array | Loading commit data... | |
atomic | Loading commit data... | |
bit | Loading commit data... | |
bitset | Loading commit data... | |
charconv | Loading commit data... | |
chrono | Loading commit data... | |
codecvt | Loading commit data... | |
complex | Loading commit data... | |
concepts | Loading commit data... | |
condition_variable | Loading commit data... | |
coroutine | Loading commit data... | |
deque | Loading commit data... | |
execution | Loading commit data... | |
filesystem | Loading commit data... | |
forward_list | Loading commit data... | |
fstream | Loading commit data... | |
functional | Loading commit data... | |
future | Loading commit data... | |
iomanip | Loading commit data... | |
ios | Loading commit data... | |
iosfwd | Loading commit data... | |
iostream | Loading commit data... | |
istream | Loading commit data... | |
iterator | Loading commit data... | |
limits | Loading commit data... | |
list | Loading commit data... | |
locale | Loading commit data... | |
map | Loading commit data... | |
memory | Loading commit data... | |
memory_resource | Loading commit data... | |
mutex | Loading commit data... | |
numbers | Loading commit data... | |
numeric | Loading commit data... | |
optional | Loading commit data... | |
ostream | Loading commit data... | |
queue | Loading commit data... | |
random | Loading commit data... | |
ranges | Loading commit data... | |
ratio | Loading commit data... | |
regex | Loading commit data... | |
scoped_allocator | Loading commit data... | |
set | Loading commit data... | |
shared_mutex | Loading commit data... | |
span | Loading commit data... | |
sstream | Loading commit data... | |
stack | Loading commit data... | |
stdexcept | Loading commit data... | |
stop_token | Loading commit data... | |
streambuf | Loading commit data... | |
string | Loading commit data... | |
string_view | Loading commit data... | |
system_error | Loading commit data... | |
thread | Loading commit data... | |
tuple | Loading commit data... | |
type_traits | Loading commit data... | |
typeindex | Loading commit data... | |
unordered_map | Loading commit data... | |
unordered_set | Loading commit data... | |
utility | Loading commit data... | |
valarray | Loading commit data... | |
variant | Loading commit data... | |
vector | Loading commit data... | |
version | Loading commit data... |