-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
LWGLibrary Working Group issueLibrary Working Group issuefixedSomething works now, yay!Something works now, yay!
Description
LWG-3595 asks for constexpr members of common_iterator proxies proxy and postfix-proxy.
proxy is returned by operator-> so it is observable, need to implement the change for it.
postfix-proxy is not returned and not observable, in fact the STL does not have it. isadded by #1991 , and constexpr is observable.
Also noexcept for indirection operator is no longer strengthened.
Need to change the _Proxy_base, _Arrow_proxy and _Postfix_proxy classes:
Lines 818 to 824 in 8833270
| struct _Proxy_base { | |
| iter_value_t<_Iter> _Keep; | |
| explicit _Proxy_base(iter_reference_t<_Iter>&& _Right) noexcept( | |
| is_nothrow_constructible_v<iter_value_t<_Iter>, iter_reference_t<_Iter>>) // strengthened | |
| : _Keep(_STD forward<iter_reference_t<_Iter>>(_Right)) {} | |
| }; |
Lines 890 to 899 in 8833270
| class _Arrow_proxy : private _Proxy_base { | |
| public: | |
| friend common_iterator; | |
| using _Proxy_base::_Proxy_base; | |
| _NODISCARD const iter_value_t<_Iter>* operator->() const noexcept /* strengthened */ { | |
| return _STD addressof(this->_Keep); | |
| } | |
| }; |
Lines 924 to 933 in 8833270
| class _Postfix_proxy : private _Proxy_base { | |
| public: | |
| friend common_iterator; | |
| using _Proxy_base::_Proxy_base; | |
| _NODISCARD const iter_value_t<_Iter>& operator*() const noexcept /* strengthened */ { | |
| return this->_Keep; | |
| } | |
| }; |
Metadata
Metadata
Assignees
Labels
LWGLibrary Working Group issueLibrary Working Group issuefixedSomething works now, yay!Something works now, yay!
Type
Projects
Status
Done