This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TS status.
2574. [fund.ts.v2]std::experimental::function::operator=(F&&)
should be constrained
Section: 4.2.1 [fund.ts.v2::func.wrap.func.con] Status: TS Submitter: Tim Song Opened: 2015-12-05 Last modified: 2017-07-30
Priority: 0
View all other issues in [fund.ts.v2::func.wrap.func.con].
View all issues with TS status.
Discussion:
Addresses: fund.ts.v2
LWG 2132(i) constrained std::function
's constructor and assignment operator from callable objects for C++14. The constructors of std::experimental::function
isn't separately specified in the fundamentals TS and so inherited the constraints from C++14, but the assignment operator is separately specified and presumably needs to be constrained.
[2016-02, Issues Telecon]
P0; move to Tentatively Ready.
Proposed resolution:
This wording is relative to N4562.
Insert a paragraph after 4.2.1 [fund.ts.v2::func.wrap.func.con]/15 as indicated:
template<class F> function& operator=(F&& f);-14- Effects:
-15- Returns:function(allocator_arg, ALLOCATOR_OF(*this), std::forward<F>(f)).swap(*this);
*this
. -?- Remarks: This assignment operator shall not participate in overload resolution unlessdeclval<decay_t<F>&>()
is Callable (C++14 ยง20.9.11.2) for argument typesArgTypes...
and return typeR
.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4