Lines Matching refs:_Arg
1009 template <size_t _Ip, class _Tp, class _Arg>
1011 void __assign_alt(__alt<_Ip, _Tp>& __a, _Arg&& __arg) {
1013 __a.__value = _VSTD::forward<_Arg>(__arg);
1017 __this->__emplace<_Ip>(_VSTD::forward<_Arg>(__arg));
1020 __this->__emplace<_Ip>(_Tp(_VSTD::forward<_Arg>(__arg)));
1023 _Arg&& __arg;
1024 } __impl{this, _VSTD::forward<_Arg>(__arg)};
1025 __impl(bool_constant<is_nothrow_constructible_v<_Tp, _Arg> ||
1142 template <size_t _Ip, class _Arg>
1144 void __assign(_Arg&& __arg) {
1146 _VSTD::forward<_Arg>(__arg));
1309 class _Arg,
1310 enable_if_t<!is_same_v<__uncvref_t<_Arg>, variant>, int> = 0,
1311 enable_if_t<!__is_inplace_type<__uncvref_t<_Arg>>::value, int> = 0,
1312 enable_if_t<!__is_inplace_index<__uncvref_t<_Arg>>::value, int> = 0,
1313 class _Tp = __variant_detail::__best_match_t<_Arg, _Types...>,
1316 enable_if_t<is_constructible_v<_Tp, _Arg>, int> = 0>
1318 constexpr variant(_Arg&& __arg) noexcept(
1319 is_nothrow_constructible_v<_Tp, _Arg>)
1320 : __impl(in_place_index<_Ip>, _VSTD::forward<_Arg>(__arg)) {}
1381 class _Arg,
1382 enable_if_t<!is_same_v<__uncvref_t<_Arg>, variant>, int> = 0,
1383 class _Tp = __variant_detail::__best_match_t<_Arg, _Types...>,
1386 enable_if_t<is_assignable_v<_Tp&, _Arg> && is_constructible_v<_Tp, _Arg>,
1389 variant& operator=(_Arg&& __arg) noexcept(
1390 is_nothrow_assignable_v<_Tp&, _Arg> &&
1391 is_nothrow_constructible_v<_Tp, _Arg>) {
1392 __impl.template __assign<_Ip>(_VSTD::forward<_Arg>(__arg));