|
65 | 65 | T exchange(T& obj, U&& new_val);
|
66 | 66 |
|
67 | 67 | // \ref{forward}, forward/move
|
68 |
| - template <class T> |
| 68 | + template <class T> |
69 | 69 | constexpr T&& forward(remove_reference_t<T>& t) noexcept;
|
70 | 70 | template <class T>
|
71 | 71 | constexpr T&& forward(remove_reference_t<T>&& t) noexcept;
|
|
2260 | 2260 | constexpr const tuple_element_t<I, tuple<Types...>>&
|
2261 | 2261 | get(const tuple<Types...>& t) noexcept; // Note B
|
2262 | 2262 | template <size_t I, class... Types>
|
2263 |
| - constexpr const tuple_element_t<I, tuple<Types...>>&& get(const tuple<Types...>&& t) noexcept; |
| 2263 | + constexpr const tuple_element_t<I, tuple<Types...>>&& get(const tuple<Types...>&& t) noexcept; |
2264 | 2264 | \end{itemdecl}
|
2265 | 2265 |
|
2266 | 2266 | \begin{itemdescr}
|
|
5341 | 5341 | T any_cast(any& operand);
|
5342 | 5342 | template<class T>
|
5343 | 5343 | T any_cast(any&& operand);
|
5344 |
| - |
| 5344 | + |
5345 | 5345 | template<class T>
|
5346 | 5346 | const T* any_cast(const any* operand) noexcept;
|
5347 | 5347 | template<class T>
|
|
10246 | 10246 | template<class Y> weak_ptr& operator=(const weak_ptr<Y>& r) noexcept;
|
10247 | 10247 | template<class Y> weak_ptr& operator=(const shared_ptr<Y>& r) noexcept;
|
10248 | 10248 | weak_ptr& operator=(weak_ptr&& r) noexcept;
|
10249 |
| - template<class Y> weak_ptr& operator=(weak_ptr<Y>&& r) noexcept; |
| 10249 | + template<class Y> weak_ptr& operator=(weak_ptr<Y>&& r) noexcept; |
10250 | 10250 |
|
10251 | 10251 | // \ref{util.smartptr.weak.mod}, modifiers
|
10252 | 10252 | void swap(weak_ptr& r) noexcept;
|
|
11226 | 11226 | If \tcode{uses_allocator_v<T1,memory_resource*>} is \tcode{false}
|
11227 | 11227 | \\
|
11228 | 11228 | and
|
11229 |
| -\tcode{is_constructible_v<T,Args1...>} is \tcode{true}, |
| 11229 | +\tcode{is_constructible_v<T1,Args1...>} is \tcode{true}, |
11230 | 11230 | \\
|
11231 | 11231 | then \tcode{xprime} is \tcode{x}.
|
11232 | 11232 | \item
|
|
11253 | 11253 | If \tcode{uses_allocator_v<T2,memory_resource*>} is \tcode{false}
|
11254 | 11254 | \\
|
11255 | 11255 | and
|
11256 |
| -\tcode{is_constructible_v<T,Args2...>} is \tcode{true}, |
| 11256 | +\tcode{is_constructible_v<T2,Args2...>} is \tcode{true}, |
11257 | 11257 | \\
|
11258 | 11258 | then \tcode{yprime} is \tcode{y}.
|
11259 | 11259 | \item
|
|
12800 | 12800 | struct default_order;
|
12801 | 12801 |
|
12802 | 12802 | template <class T = void>
|
12803 |
| - using default_order_t = typename default_order<T>::type; |
| 12803 | + using default_order_t = typename default_order<T>::type; |
12804 | 12804 |
|
12805 | 12805 | // \ref{func.bind}, function object binders
|
12806 | 12806 | template <class T> constexpr bool is_bind_expression_v
|
|
12884 | 12884 | \item \tcode{t1.*f} when \tcode{N == 1} and \tcode{f} is a pointer to
|
12885 | 12885 | data member of a class \tcode{T}
|
12886 | 12886 | and \tcode{is_base_of_v<T, decay_t<decltype(t1)>>} is \tcode{true};
|
12887 |
| - |
| 12887 | + |
12888 | 12888 | \item \tcode{t1.get().*f} when \tcode{N == 1} and \tcode{f} is a pointer to
|
12889 | 12889 | data member of a class \tcode{T}
|
12890 | 12890 | and \tcode{decay_t<decltype(t1)>} is a specialization of \tcode{reference_wrapper};
|
|
15202 | 15202 | template <class, class R = void> struct is_callable; // not defined
|
15203 | 15203 | template <class Fn, class... ArgTypes, class R>
|
15204 | 15204 | struct is_callable<Fn(ArgTypes...), R>;
|
15205 |
| - |
| 15205 | + |
15206 | 15206 | template <class, class R = void> struct is_nothrow_callable; // not defined
|
15207 | 15207 | template <class Fn, class... ArgTypes, class R>
|
15208 | 15208 | struct is_nothrow_callable<Fn(ArgTypes...), R>;
|
|
15270 | 15270 | // \ref{meta.trans.other}, other transformations
|
15271 | 15271 | template <size_t Len,
|
15272 | 15272 | size_t Align = @\textit{default-alignment}@> // see \ref{meta.trans.other}
|
15273 |
| - struct aligned_storage; |
| 15273 | + struct aligned_storage; |
15274 | 15274 | template <size_t Len, class... Types> struct aligned_union;
|
15275 | 15275 | template <class T> struct decay;
|
15276 | 15276 | template <bool, class T = void> struct enable_if;
|
|
15296 | 15296 | template <class T>
|
15297 | 15297 | using underlying_type_t = typename underlying_type<T>::type;
|
15298 | 15298 | template <class T>
|
15299 |
| - using result_of_t = typename result_of<T>::type; |
| 15299 | + using result_of_t = typename result_of<T>::type; |
15300 | 15300 | template <class...>
|
15301 | 15301 | using void_t = void;
|
15302 | 15302 |
|
@@ -16821,10 +16821,10 @@
|
16821 | 16821 | The specialization \tcode{conjunction<B1, ..., BN>}
|
16822 | 16822 | has a public and unambiguous base that is either
|
16823 | 16823 | \begin{itemize}
|
16824 |
| -\item |
| 16824 | +\item |
16825 | 16825 | the first type \tcode{Bi} in the list \tcode{true_type, B1, ..., BN}
|
16826 | 16826 | for which \tcode{bool(Bi::value)} is \tcode{false}, or
|
16827 |
| -\item |
| 16827 | +\item |
16828 | 16828 | if there is no such \tcode{Bi}, the last type in the list.
|
16829 | 16829 | \end{itemize}
|
16830 | 16830 | \begin{note} This means a specialization of \tcode{conjunction}
|
|
0 commit comments