diff --git a/source/threads.tex b/source/threads.tex index e8005c9349..5a32c27647 100644 --- a/source/threads.tex +++ b/source/threads.tex @@ -276,7 +276,7 @@ result, where \tcode{decay_copy} is defined as follows: \begin{codeblock} -template typename decay::type decay_copy(T&& v) +template decay_t decay_copy(T&& v) { return std::forward(v); } \end{codeblock} @@ -3506,10 +3506,10 @@ struct uses_allocator, Alloc>; template - future::type(typename decay::type...)>::type> + future(decay_t...)>> async(F&& f, Args&&... args); template - future::type(typename decay::type...)>::type> + future(decay_t...)>> async(launch policy, F&& f, Args&&... args); } \end{codeblock} @@ -4617,11 +4617,9 @@ \indexlibrary{\idxcode{async}}% \begin{itemdecl} template - future::type(typename decay::type...)>::type> - async(F&& f, Args&&... args); + future(decay_t...)>> async(F&& f, Args&&... args); template - future::type(typename decay::type...)>::type> - async(launch policy, F&& f, Args&&... args); + future(decay_t...)>> async(launch policy, F&& f, Args&&... args); \end{itemdecl} \begin{itemdescr} @@ -4694,7 +4692,7 @@ \pnum \returns An object of type -\tcode{future::type(typename de\-cay::type...)>::type>} that refers +\tcode{future(decay_t...)>{>}} that refers to the shared state created by this call to \tcode{async}. \enternote If a future obtained from std::async is moved outside the local scope, other code that uses the future must be aware that the future’s destructor may diff --git a/source/utilities.tex b/source/utilities.tex index a709ce59fb..3f449872f6 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -61,19 +61,19 @@ // \ref{forward}, forward/move: template - constexpr T&& forward(typename remove_reference::type& t) noexcept; + constexpr T&& forward(remove_reference_t& t) noexcept; template - constexpr T&& forward(typename remove_reference::type&& t) noexcept; + constexpr T&& forward(remove_reference_t&& t) noexcept; template - constexpr typename remove_reference::type&& move(T&&) noexcept; + constexpr remove_reference_t&& move(T&&) noexcept; template - constexpr typename conditional< + constexpr conditional_t< !is_nothrow_move_constructible::value && is_copy_constructible::value, - const T&, T&&>::type move_if_noexcept(T& x) noexcept; + const T&, T&&> move_if_noexcept(T& x) noexcept; // \ref{declval}, declval: template - typename add_rvalue_reference::type declval() noexcept; // as unevaluated operand + add_rvalue_reference_t declval() noexcept; // as unevaluated operand // \ref{pairs}, pairs: template struct pair; @@ -293,8 +293,8 @@ \indexlibrary{\idxcode{forward}}% \begin{itemdecl} -template constexpr T&& forward(typename remove_reference::type& t) noexcept; -template constexpr T&& forward(typename remove_reference::type&& t) noexcept; +template constexpr T&& forward(remove_reference_t& t) noexcept; +template constexpr T&& forward(remove_reference_t&& t) noexcept; \end{itemdecl} \begin{itemdescr} @@ -338,13 +338,13 @@ \indexlibrary{\idxcode{move}}% \begin{itemdecl} -template constexpr typename remove_reference::type&& move(T&& t) noexcept; +template constexpr remove_reference_t&& move(T&& t) noexcept; \end{itemdecl} \begin{itemdescr} \pnum \returns -\tcode{static_cast::type\&\&>(t)}. +\tcode{static_cast\&\&>(t)}. \pnum \enterexample @@ -383,9 +383,9 @@ \indexlibrary{\idxcode{move_if_noexcept}}% \begin{itemdecl} -template constexpr typename conditional< +template constexpr conditional_t< !is_nothrow_move_constructible::value && is_copy_constructible::value, - const T&, T&&>::type move_if_noexcept(T& x) noexcept; + const T&, T&&> move_if_noexcept(T& x) noexcept; \end{itemdecl} \begin{itemdescr} @@ -402,7 +402,7 @@ \indexlibrary{\idxcode{declval}}% \begin{itemdecl} template - typename add_rvalue_reference::type declval() noexcept; // as unevaluated operand + add_rvalue_reference_t declval() noexcept; // as unevaluated operand \end{itemdecl} \begin{itemdescr} @@ -865,7 +865,7 @@ \indexlibrary{\idxcode{get}!\idxcode{pair}}% \begin{itemdecl} template - constexpr typename tuple_element >::type& + constexpr tuple_element_t >& get(pair&) noexcept; template constexpr const typename tuple_element >::type& @@ -4503,7 +4503,7 @@ unique_ptr& operator=(nullptr_t) noexcept; // \ref{unique.ptr.single.observers}, observers - typename add_lvalue_reference::type operator*() const; + add_lvalue_reference_t operator*() const; pointer operator->() const noexcept; pointer get() const noexcept; deleter_type& get_deleter() noexcept; @@ -4893,7 +4893,7 @@ \indexlibrary{\idxcode{operator*}!\idxcode{unique_ptr}} \indexlibrary{\idxcode{unique_ptr}!\idxcode{operator*}} \begin{itemdecl} -typename add_lvalue_reference::type operator*() const; +add_lvalue_reference_t operator*() const; \end{itemdecl} \begin{itemdescr} @@ -5160,7 +5160,7 @@ \remarks This function shall not participate in overload resolution unless \tcode{T} is an array of unknown bound. \pnum -\returns \tcode{unique_ptr(new typename remove_extent::type[n]())}. +\returns \tcode{unique_ptr(new remove_extent_t[n]())}. \end{itemdescr} @@ -7282,7 +7282,7 @@ // invocation template - typename result_of::type + result_of_t operator() (ArgTypes&&...) const; }; } @@ -7405,7 +7405,7 @@ \indexlibrary{\idxcode{operator()}!\idxcode{reference_wrapper}}% \begin{itemdecl} template - typename result_of::type + result_of_t operator()(ArgTypes&&... args) const; \end{itemdecl} @@ -9614,7 +9614,7 @@ Given the following function prototype: \begin{codeblock} template - typename add_rvalue_reference::type create() noexcept; + add_rvalue_reference_t create() noexcept; \end{codeblock} the predicate condition for a template specialization @@ -9768,7 +9768,7 @@ \begin{codeblock} template - typename add_rvalue_reference::type create() noexcept; + add_rvalue_reference_t create() noexcept; \end{codeblock} the predicate condition for a template specialization \tcode{is_convertible} @@ -9851,7 +9851,7 @@ struct add_cv;} & The member typedef \tcode{type} shall name the same type as - \tcode{add_const::type>::type}. \\ + \tcode{add_const_t{>}}. \\ \end{libreqtab2a} \rSec3[meta.trans.ref]{Reference modifications} @@ -10137,7 +10137,7 @@ template struct common_type { - typedef typename common_type::type, V...>::type type; + typedef common_type_t, V...> type; }; \end{codeblock} @@ -10433,28 +10433,28 @@ // \ref{time.duration.nonmember}, duration arithmetic template - typename common_type, duration>::type + common_type_t, duration> constexpr operator+(const duration& lhs, const duration& rhs); template - typename common_type, duration>::type + common_type_t, duration> constexpr operator-(const duration& lhs, const duration& rhs); template - duration::type, Period> + duration, Period> constexpr operator*(const duration& d, const Rep2& s); template - duration::type, Period> + duration, Period> constexpr operator*(const Rep1& s, const duration& d); template - duration::type, Period> + duration, Period> constexpr operator/(const duration& d, const Rep2& s); template - typename common_type::type + common_type_t constexpr operator/(const duration& lhs, const duration& rhs); template - duration::type, Period> + duration, Period> constexpr operator%(const duration& d, const Rep2& s); template - typename common_type, duration>::type + common_type_t, duration> constexpr operator%(const duration& lhs, const duration& rhs); // \ref{time.duration.comparisons}, duration comparisons @@ -10491,16 +10491,16 @@ // \ref{time.point.nonmember}, time_point arithmetic template - constexpr time_point>::type> + constexpr time_point>> operator+(const time_point& lhs, const duration& rhs); template - constexpr time_point, Duration2>::type> + constexpr time_point, Duration2>> operator+(const duration& lhs, const time_point& rhs); template - constexpr time_point>::type> + constexpr time_point>> operator-(const time_point& lhs, const duration& rhs); template - constexpr typename common_type::type + constexpr common_type_t operator-(const time_point& lhs, const time_point& rhs); // \ref{time.point.comparisons} time_point comparisons @@ -10737,7 +10737,7 @@ \begin{itemdecl} template struct common_type, chrono::duration> { - typedef chrono::duration::type, @\seebelow@> type; + typedef chrono::duration, @\seebelow@> type; }; \end{itemdecl} @@ -10761,7 +10761,7 @@ \begin{itemdecl} template struct common_type, chrono::time_point> { - typedef chrono::time_point::type> type; + typedef chrono::time_point> type; }; \end{itemdecl} @@ -11132,7 +11132,7 @@ \indexlibrary{\idxcode{common_type}}% \begin{itemdecl} template - constexpr typename common_type, duration >::type + constexpr common_type_t, duration> operator+(const duration& lhs, const duration& rhs); \end{itemdecl} @@ -11144,7 +11144,7 @@ \indexlibrary{\idxcode{common_type}}% \begin{itemdecl} template - constexpr typename common_type, duration >::type + constexpr common_type_t, duration> operator-(const duration& lhs, const duration& rhs); \end{itemdecl} @@ -11157,7 +11157,7 @@ \indexlibrary{\idxcode{duration}!\idxcode{operator*}}% \begin{itemdecl} template - constexpr duration::type, Period> + constexpr duration, Period> operator*(const duration& d, const Rep2& s); \end{itemdecl} @@ -11174,7 +11174,7 @@ \indexlibrary{\idxcode{duration}!\idxcode{operator*}}% \begin{itemdecl} template - constexpr duration::type, Period> + constexpr duration, Period> operator*(const Rep1& s, const duration& d); \end{itemdecl} @@ -11191,7 +11191,7 @@ \indexlibrary{\idxcode{duration}!\idxcode{operator/}}% \begin{itemdecl} template - constexpr duration::type, Period> + constexpr duration, Period> operator/(const duration& d, const Rep2& s); \end{itemdecl} @@ -11209,7 +11209,7 @@ \indexlibrary{\idxcode{duration}!\idxcode{operator/}}% \begin{itemdecl} template - constexpr typename common_type::type + constexpr common_type_t operator/(const duration& lhs, const duration& rhs); \end{itemdecl} @@ -11222,7 +11222,7 @@ \indexlibrary{\idxcode{duration}!\idxcode{operator\%}}% \begin{itemdecl} template - constexpr duration::type, Period> + constexpr duration, Period> operator%(const duration& d, const Rep2& s); \end{itemdecl} @@ -11240,7 +11240,7 @@ \indexlibrary{\idxcode{duration}!\idxcode{operator\%}}% \begin{itemdecl} template - constexpr typename common_type, duration>::type + constexpr common_type_t, duration> operator%(const duration& lhs, const duration& rhs); \end{itemdecl} @@ -11637,7 +11637,7 @@ \indexlibrary{\idxcode{duration}!\idxcode{operator+}}% \begin{itemdecl} template - constexpr time_point>::type> + constexpr time_point>> operator+(const time_point& lhs, const duration& rhs); \end{itemdecl} @@ -11652,7 +11652,7 @@ \indexlibrary{\idxcode{duration}!\idxcode{operator+}}% \begin{itemdecl} template - constexpr time_point, Duration2>::type> + constexpr time_point, Duration2>> operator+(const duration& lhs, const time_point& rhs); \end{itemdecl} @@ -11667,7 +11667,7 @@ \indexlibrary{\idxcode{duration}!\idxcode{operator-}}% \begin{itemdecl} template - constexpr time_point>::type> + constexpr time_point>> operator-(const time_point& lhs, const duration& rhs); \end{itemdecl} @@ -11680,7 +11680,7 @@ \indexlibrary{\idxcode{time_point}!\idxcode{operator-}}% \begin{itemdecl} template - constexpr typename common_type::type + constexpr common_type_t operator-(const time_point& lhs, const time_point& rhs); \end{itemdecl}