std::assignable_from
cppreference.com
<tbody>
</tbody>
template< class LHS, class RHS > concept assignable_from = std::is_lvalue_reference_v<LHS> && std::common_reference_with< const std::remove_reference_t<LHS>&, const std::remove_reference_t<RHS>&> && requires(LHS lhs, RHS&& rhs) { { lhs = std::forward<RHS>(rhs) } -> std::same_as<LHS>; }; |
||
assignable_from<LHS, RHS> , , RHS, lvalue, LHS.
:
lhs,lcopy, ,decltype((lhs))LHS,rhs, ,decltype((rhs))RHS,rcopy, ,rhs,
assignable_from<LHS, RHS>
std::addressof(lhs = rhs) == std::addressof(lcopy)(.. );-
lhs = rhs:lhsrcopy,rhsxvalue,lcopy(.. ),-
rhsglvalue:- xvalue, , , , ;
- , , ;
, requires , ( ).
. , - x y, x = y =. , (, - std::vector<std::any>).
(C++11)(C++11)(C++11) |
, ( ) |