(19.3)converts-from-any-cvref<T, optional<U>> is false, (19.4)is_assignable_v<T&, optional<U>&> is false, (19.5)is_assignable_v<T&, optional<U>&&> is false, (19.6)is_assignable_v<T&, const optional<U>&> is false, and (19.7)is_assignable_v<T&, const optional<U>&&> is...
Remarks: The exception specification is equivalent to: is_nothrow_move_constructible_v<T> && is_nothrow_move_assignable_v<T> 🔗template<class T, size_t N> constexpr void swap(T (&a)[N], T (&b)[N]) noexcept(is_nothrow_swappable_v<T>); 5 # Constraints: is_swappable_v<T> ...
assignable_from, [concepts.syn], [concept.assignable], [concept.assignable], [concept.swappable], [concepts.object], [sequence.reqmts], [iterator.concept.sentinel], [alg.req.ind.move], [alg.req.ind.copy], [range.iter.op.advance], [reverse.iter.cons], [move.iter.cons], [move.sentinel...
Preconditions: T is Cpp17EmplaceConstructible into X from *i and assignable from *i. For vector, if the iterator does not meet the forward iterator requirements ([forward.iterators]), T is also Cpp17MoveInsertable into X. Neither i nor j are iterators into a. 59 # Effects: Replaces ele...
Result: A type that models copyable, and for which is_nothrow_move_constructible_v<A::data_handle_type> is true, is_nothrow_move_assignable_v<A::data_handle_type> is true, and is_nothrow_swappable_v<A::data_handle_type> is true. [Note 1: The type of dat...
83 # Result: Identical to or derived from true_type or false_type. 84 # Returns: true_type only if an allocator of type X should be moved when the client container is move-assigned; if so, X shall meet the Cpp17MoveAssignable requirements (Table 33) and the move operation shall not ...
(42.1)different-from<UTuple, tuple> ([range.utility.helpers]) is true, (42.2)remove_cvref_t<UTuple> is not a specialization of ranges::subrange, (42.3)sizeof...(Types) equals tuple_size_v<remove_cvref_t<UTuple>>, and (42.4)is_assignable_v<const Ti&, decltype(get(std...
(allocator_traits<Allocator>::is_always_equal::value && is_nothrow_move_assignable_v<Compare>); constexpr multiset& operator=(initializer_list<value_type>); constexpr allocator_type get_allocator() const noexcept; // iterators constexpr iterator begin() noexcept; constexpr const_iterator begin(...
(39.1)different-from<UTuple, tuple> ([range.utility.helpers]) is true, (39.2)remove_cvref_t<UTuple> is not a specialization of ranges::subrange, (39.3)sizeof...(Types) equals tuple_size_v<remove_cvref_t<UTuple>>, and (39.4)is_assignable_v<Ti&, decltype(get(std::f...
(1.5)is_move_assignable_v<T>, or (1.6)same_as<T, remove_cv_t<T>>, is false. [Note 1: Type arguments that are not also statically initializable can be difficult to use.— end note] 2 # The specialization atomic<bool> is a standard-layout struct. It has a trivial destructor....