|
61 | 61 |
|
62 | 62 | // \ref{forward}, forward/move:
|
63 | 63 | template <class T>
|
64 |
| - constexpr T&& forward(typename remove_reference<T>::type& t) noexcept; |
| 64 | + constexpr T&& forward(remove_reference_t<T>& t) noexcept; |
65 | 65 | template <class T>
|
66 |
| - constexpr T&& forward(typename remove_reference<T>::type&& t) noexcept; |
| 66 | + constexpr T&& forward(remove_reference_t<T>&& t) noexcept; |
67 | 67 | template <class T>
|
68 |
| - constexpr typename remove_reference<T>::type&& move(T&&) noexcept; |
| 68 | + constexpr remove_reference_t<T>&& move(T&&) noexcept; |
69 | 69 | template <class T>
|
70 |
| - constexpr typename conditional< |
| 70 | + constexpr conditional_t< |
71 | 71 | !is_nothrow_move_constructible<T>::value && is_copy_constructible<T>::value,
|
72 |
| - const T&, T&&>::type move_if_noexcept(T& x) noexcept; |
| 72 | + const T&, T&&> move_if_noexcept(T& x) noexcept; |
73 | 73 |
|
74 | 74 | // \ref{declval}, declval:
|
75 | 75 | template <class T>
|
76 |
| - typename add_rvalue_reference<T>::type declval() noexcept; // as unevaluated operand |
| 76 | + add_rvalue_reference_t<T> declval() noexcept; // as unevaluated operand |
77 | 77 |
|
78 | 78 | // \ref{pairs}, pairs:
|
79 | 79 | template <class T1, class T2> struct pair;
|
|
293 | 293 |
|
294 | 294 | \indexlibrary{\idxcode{forward}}%
|
295 | 295 | \begin{itemdecl}
|
296 |
| -template <class T> constexpr T&& forward(typename remove_reference<T>::type& t) noexcept; |
297 |
| -template <class T> constexpr T&& forward(typename remove_reference<T>::type&& t) noexcept; |
| 296 | +template <class T> constexpr T&& forward(remove_reference_t<T>& t) noexcept; |
| 297 | +template <class T> constexpr T&& forward(remove_reference_t<T>&& t) noexcept; |
298 | 298 | \end{itemdecl}
|
299 | 299 |
|
300 | 300 | \begin{itemdescr}
|
|
338 | 338 |
|
339 | 339 | \indexlibrary{\idxcode{move}}%
|
340 | 340 | \begin{itemdecl}
|
341 |
| -template <class T> constexpr typename remove_reference<T>::type&& move(T&& t) noexcept; |
| 341 | +template <class T> constexpr remove_reference_t<T>&& move(T&& t) noexcept; |
342 | 342 | \end{itemdecl}
|
343 | 343 |
|
344 | 344 | \begin{itemdescr}
|
345 | 345 | \pnum
|
346 | 346 | \returns
|
347 |
| -\tcode{static_cast<typename remove_reference<T>::type\&\&>(t)}. |
| 347 | +\tcode{static_cast<remove_reference_t<T>\&\&>(t)}. |
348 | 348 |
|
349 | 349 | \pnum
|
350 | 350 | \enterexample
|
|
383 | 383 |
|
384 | 384 | \indexlibrary{\idxcode{move_if_noexcept}}%
|
385 | 385 | \begin{itemdecl}
|
386 |
| -template <class T> constexpr typename conditional< |
| 386 | +template <class T> constexpr conditional_t< |
387 | 387 | !is_nothrow_move_constructible<T>::value && is_copy_constructible<T>::value,
|
388 |
| - const T&, T&&>::type move_if_noexcept(T& x) noexcept; |
| 388 | + const T&, T&&> move_if_noexcept(T& x) noexcept; |
389 | 389 | \end{itemdecl}
|
390 | 390 |
|
391 | 391 | \begin{itemdescr}
|
|
402 | 402 | \indexlibrary{\idxcode{declval}}%
|
403 | 403 | \begin{itemdecl}
|
404 | 404 | template <class T>
|
405 |
| - typename add_rvalue_reference<T>::type declval() noexcept; // as unevaluated operand |
| 405 | + add_rvalue_reference_t<T> declval() noexcept; // as unevaluated operand |
406 | 406 | \end{itemdecl}
|
407 | 407 |
|
408 | 408 | \begin{itemdescr}
|
|
865 | 865 | \indexlibrary{\idxcode{get}!\idxcode{pair}}%
|
866 | 866 | \begin{itemdecl}
|
867 | 867 | template<size_t I, class T1, class T2>
|
868 |
| - constexpr typename tuple_element<I, std::pair<T1, T2> >::type& |
| 868 | + constexpr tuple_element_t<I, std::pair<T1, T2> >& |
869 | 869 | get(pair<T1, T2>&) noexcept;
|
870 | 870 | template<size_t I, class T1, class T2>
|
871 | 871 | constexpr const typename tuple_element<I, std::pair<T1, T2> >::type&
|
|
4503 | 4503 | unique_ptr& operator=(nullptr_t) noexcept;
|
4504 | 4504 |
|
4505 | 4505 | // \ref{unique.ptr.single.observers}, observers
|
4506 |
| - typename add_lvalue_reference<T>::type operator*() const; |
| 4506 | + add_lvalue_reference_t<T> operator*() const; |
4507 | 4507 | pointer operator->() const noexcept;
|
4508 | 4508 | pointer get() const noexcept;
|
4509 | 4509 | deleter_type& get_deleter() noexcept;
|
|
4893 | 4893 | \indexlibrary{\idxcode{operator*}!\idxcode{unique_ptr}}
|
4894 | 4894 | \indexlibrary{\idxcode{unique_ptr}!\idxcode{operator*}}
|
4895 | 4895 | \begin{itemdecl}
|
4896 |
| -typename add_lvalue_reference<T>::type operator*() const; |
| 4896 | +add_lvalue_reference_t<T> operator*() const; |
4897 | 4897 | \end{itemdecl}
|
4898 | 4898 |
|
4899 | 4899 | \begin{itemdescr}
|
|
5160 | 5160 | \remarks This function shall not participate in overload resolution unless \tcode{T} is an array of unknown bound.
|
5161 | 5161 |
|
5162 | 5162 | \pnum
|
5163 |
| -\returns \tcode{unique_ptr<T>(new typename remove_extent<T>::type[n]())}. |
| 5163 | +\returns \tcode{unique_ptr<T>(new remove_extent_t<T>[n]())}. |
5164 | 5164 |
|
5165 | 5165 | \end{itemdescr}
|
5166 | 5166 |
|
|
7282 | 7282 |
|
7283 | 7283 | // invocation
|
7284 | 7284 | template <class... ArgTypes>
|
7285 |
| - typename result_of<T&(ArgTypes&&...)>::type |
| 7285 | + result_of_t<T&(ArgTypes&&...)> |
7286 | 7286 | operator() (ArgTypes&&...) const;
|
7287 | 7287 | };
|
7288 | 7288 | }
|
|
7405 | 7405 | \indexlibrary{\idxcode{operator()}!\idxcode{reference_wrapper}}%
|
7406 | 7406 | \begin{itemdecl}
|
7407 | 7407 | template <class... ArgTypes>
|
7408 |
| - typename result_of<T&(ArgTypes&&... )>::type |
| 7408 | + result_of_t<T&(ArgTypes&&... )> |
7409 | 7409 | operator()(ArgTypes&&... args) const;
|
7410 | 7410 | \end{itemdecl}
|
7411 | 7411 |
|
|
9614 | 9614 | Given the following function prototype:
|
9615 | 9615 | \begin{codeblock}
|
9616 | 9616 | template <class T>
|
9617 |
| - typename add_rvalue_reference<T>::type create() noexcept; |
| 9617 | + add_rvalue_reference_t<T> create() noexcept; |
9618 | 9618 | \end{codeblock}
|
9619 | 9619 |
|
9620 | 9620 | the predicate condition for a template specialization
|
|
9768 | 9768 |
|
9769 | 9769 | \begin{codeblock}
|
9770 | 9770 | template <class T>
|
9771 |
| - typename add_rvalue_reference<T>::type create() noexcept; |
| 9771 | + add_rvalue_reference_t<T> create() noexcept; |
9772 | 9772 | \end{codeblock}
|
9773 | 9773 |
|
9774 | 9774 | the predicate condition for a template specialization \tcode{is_convertible<From, To>}
|
|
9851 | 9851 | struct add_cv;} &
|
9852 | 9852 | The member typedef \tcode{type} shall name
|
9853 | 9853 | the same type as
|
9854 |
| - \tcode{add_const<typename add_volatile<T>::type>::type}. \\ |
| 9854 | + \tcode{add_const_t<add_volatile_t<T>{>}}. \\ |
9855 | 9855 | \end{libreqtab2a}
|
9856 | 9856 |
|
9857 | 9857 | \rSec3[meta.trans.ref]{Reference modifications}
|
|
10137 | 10137 |
|
10138 | 10138 | template <class T, class U, class... V>
|
10139 | 10139 | struct common_type<T, U, V...> {
|
10140 |
| - typedef typename common_type<typename common_type<T, U>::type, V...>::type type; |
| 10140 | + typedef common_type_t<common_type_t<T, U>, V...> type; |
10141 | 10141 | };
|
10142 | 10142 | \end{codeblock}
|
10143 | 10143 |
|
@@ -10433,28 +10433,28 @@
|
10433 | 10433 |
|
10434 | 10434 | // \ref{time.duration.nonmember}, duration arithmetic
|
10435 | 10435 | template <class Rep1, class Period1, class Rep2, class Period2>
|
10436 |
| - typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type |
| 10436 | + common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>> |
10437 | 10437 | constexpr operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
|
10438 | 10438 | template <class Rep1, class Period1, class Rep2, class Period2>
|
10439 |
| - typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type |
| 10439 | + common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>> |
10440 | 10440 | constexpr operator-(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
|
10441 | 10441 | template <class Rep1, class Period, class Rep2>
|
10442 |
| - duration<typename common_type<Rep1, Rep2>::type, Period> |
| 10442 | + duration<common_type_t<Rep1, Rep2>, Period> |
10443 | 10443 | constexpr operator*(const duration<Rep1, Period>& d, const Rep2& s);
|
10444 | 10444 | template <class Rep1, class Rep2, class Period>
|
10445 |
| - duration<typename common_type<Rep1, Rep2>::type, Period> |
| 10445 | + duration<common_type_t<Rep1, Rep2>, Period> |
10446 | 10446 | constexpr operator*(const Rep1& s, const duration<Rep2, Period>& d);
|
10447 | 10447 | template <class Rep1, class Period, class Rep2>
|
10448 |
| - duration<typename common_type<Rep1, Rep2>::type, Period> |
| 10448 | + duration<common_type_t<Rep1, Rep2>, Period> |
10449 | 10449 | constexpr operator/(const duration<Rep1, Period>& d, const Rep2& s);
|
10450 | 10450 | template <class Rep1, class Period1, class Rep2, class Period2>
|
10451 |
| - typename common_type<Rep1, Rep2>::type |
| 10451 | + common_type_t<Rep1, Rep2> |
10452 | 10452 | constexpr operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
|
10453 | 10453 | template <class Rep1, class Period, class Rep2>
|
10454 |
| - duration<typename common_type<Rep1, Rep2>::type, Period> |
| 10454 | + duration<common_type_t<Rep1, Rep2>, Period> |
10455 | 10455 | constexpr operator%(const duration<Rep1, Period>& d, const Rep2& s);
|
10456 | 10456 | template <class Rep1, class Period1, class Rep2, class Period2>
|
10457 |
| - typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type |
| 10457 | + common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>> |
10458 | 10458 | constexpr operator%(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
|
10459 | 10459 |
|
10460 | 10460 | // \ref{time.duration.comparisons}, duration comparisons
|
@@ -10491,16 +10491,16 @@
|
10491 | 10491 |
|
10492 | 10492 | // \ref{time.point.nonmember}, time_point arithmetic
|
10493 | 10493 | template <class Clock, class Duration1, class Rep2, class Period2>
|
10494 |
| - constexpr time_point<Clock, typename common_type<Duration1, duration<Rep2, Period2>>::type> |
| 10494 | + constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>> |
10495 | 10495 | operator+(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
|
10496 | 10496 | template <class Rep1, class Period1, class Clock, class Duration2>
|
10497 |
| - constexpr time_point<Clock, typename common_type<duration<Rep1, Period1>, Duration2>::type> |
| 10497 | + constexpr time_point<Clock, common_type_t<duration<Rep1, Period1>, Duration2>> |
10498 | 10498 | operator+(const duration<Rep1, Period1>& lhs, const time_point<Clock, Duration2>& rhs);
|
10499 | 10499 | template <class Clock, class Duration1, class Rep2, class Period2>
|
10500 |
| - constexpr time_point<Clock, typename common_type<Duration1, duration<Rep2, Period2>>::type> |
| 10500 | + constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>> |
10501 | 10501 | operator-(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
|
10502 | 10502 | template <class Clock, class Duration1, class Duration2>
|
10503 |
| - constexpr typename common_type<Duration1, Duration2>::type |
| 10503 | + constexpr common_type_t<Duration1, Duration2> |
10504 | 10504 | operator-(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);
|
10505 | 10505 |
|
10506 | 10506 | // \ref{time.point.comparisons} time_point comparisons
|
|
10737 | 10737 | \begin{itemdecl}
|
10738 | 10738 | template <class Rep1, class Period1, class Rep2, class Period2>
|
10739 | 10739 | struct common_type<chrono::duration<Rep1, Period1>, chrono::duration<Rep2, Period2>> {
|
10740 |
| - typedef chrono::duration<typename common_type<Rep1, Rep2>::type, @\seebelow@> type; |
| 10740 | + typedef chrono::duration<common_type_t<Rep1, Rep2>, @\seebelow@> type; |
10741 | 10741 | };
|
10742 | 10742 | \end{itemdecl}
|
10743 | 10743 |
|
|
10761 | 10761 | \begin{itemdecl}
|
10762 | 10762 | template <class Clock, class Duration1, class Duration2>
|
10763 | 10763 | struct common_type<chrono::time_point<Clock, Duration1>, chrono::time_point<Clock, Duration2>> {
|
10764 |
| - typedef chrono::time_point<Clock, typename common_type<Duration1, Duration2>::type> type; |
| 10764 | + typedef chrono::time_point<Clock, common_type_t<Duration1, Duration2>> type; |
10765 | 10765 | };
|
10766 | 10766 | \end{itemdecl}
|
10767 | 10767 |
|
|
11132 | 11132 | \indexlibrary{\idxcode{common_type}}%
|
11133 | 11133 | \begin{itemdecl}
|
11134 | 11134 | template <class Rep1, class Period1, class Rep2, class Period2>
|
11135 |
| - constexpr typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2> >::type |
| 11135 | + constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>> |
11136 | 11136 | operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
|
11137 | 11137 | \end{itemdecl}
|
11138 | 11138 |
|
|
11144 | 11144 | \indexlibrary{\idxcode{common_type}}%
|
11145 | 11145 | \begin{itemdecl}
|
11146 | 11146 | template <class Rep1, class Period1, class Rep2, class Period2>
|
11147 |
| - constexpr typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2> >::type |
| 11147 | + constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>> |
11148 | 11148 | operator-(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
|
11149 | 11149 | \end{itemdecl}
|
11150 | 11150 |
|
|
11157 | 11157 | \indexlibrary{\idxcode{duration}!\idxcode{operator*}}%
|
11158 | 11158 | \begin{itemdecl}
|
11159 | 11159 | template <class Rep1, class Period, class Rep2>
|
11160 |
| - constexpr duration<typename common_type<Rep1, Rep2>::type, Period> |
| 11160 | + constexpr duration<common_type_t<Rep1, Rep2>, Period> |
11161 | 11161 | operator*(const duration<Rep1, Period>& d, const Rep2& s);
|
11162 | 11162 | \end{itemdecl}
|
11163 | 11163 |
|
|
11174 | 11174 | \indexlibrary{\idxcode{duration}!\idxcode{operator*}}%
|
11175 | 11175 | \begin{itemdecl}
|
11176 | 11176 | template <class Rep1, class Rep2, class Period>
|
11177 |
| - constexpr duration<typename common_type<Rep1, Rep2>::type, Period> |
| 11177 | + constexpr duration<common_type_t<Rep1, Rep2>, Period> |
11178 | 11178 | operator*(const Rep1& s, const duration<Rep2, Period>& d);
|
11179 | 11179 | \end{itemdecl}
|
11180 | 11180 |
|
|
11191 | 11191 | \indexlibrary{\idxcode{duration}!\idxcode{operator/}}%
|
11192 | 11192 | \begin{itemdecl}
|
11193 | 11193 | template <class Rep1, class Period, class Rep2>
|
11194 |
| - constexpr duration<typename common_type<Rep1, Rep2>::type, Period> |
| 11194 | + constexpr duration<common_type_t<Rep1, Rep2>, Period> |
11195 | 11195 | operator/(const duration<Rep1, Period>& d, const Rep2& s);
|
11196 | 11196 | \end{itemdecl}
|
11197 | 11197 |
|
|
11209 | 11209 | \indexlibrary{\idxcode{duration}!\idxcode{operator/}}%
|
11210 | 11210 | \begin{itemdecl}
|
11211 | 11211 | template <class Rep1, class Period1, class Rep2, class Period2>
|
11212 |
| - constexpr typename common_type<Rep1, Rep2>::type |
| 11212 | + constexpr common_type_t<Rep1, Rep2> |
11213 | 11213 | operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
|
11214 | 11214 | \end{itemdecl}
|
11215 | 11215 |
|
|
11222 | 11222 | \indexlibrary{\idxcode{duration}!\idxcode{operator\%}}%
|
11223 | 11223 | \begin{itemdecl}
|
11224 | 11224 | template <class Rep1, class Period, class Rep2>
|
11225 |
| - constexpr duration<typename common_type<Rep1, Rep2>::type, Period> |
| 11225 | + constexpr duration<common_type_t<Rep1, Rep2>, Period> |
11226 | 11226 | operator%(const duration<Rep1, Period>& d, const Rep2& s);
|
11227 | 11227 | \end{itemdecl}
|
11228 | 11228 |
|
|
11240 | 11240 | \indexlibrary{\idxcode{duration}!\idxcode{operator\%}}%
|
11241 | 11241 | \begin{itemdecl}
|
11242 | 11242 | template <class Rep1, class Period1, class Rep2, class Period2>
|
11243 |
| - constexpr typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type |
| 11243 | + constexpr common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>> |
11244 | 11244 | operator%(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
|
11245 | 11245 | \end{itemdecl}
|
11246 | 11246 |
|
|
11637 | 11637 | \indexlibrary{\idxcode{duration}!\idxcode{operator+}}%
|
11638 | 11638 | \begin{itemdecl}
|
11639 | 11639 | template <class Clock, class Duration1, class Rep2, class Period2>
|
11640 |
| - constexpr time_point<Clock, typename common_type<Duration1, duration<Rep2, Period2>>::type> |
| 11640 | + constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>> |
11641 | 11641 | operator+(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
|
11642 | 11642 | \end{itemdecl}
|
11643 | 11643 |
|
|
11652 | 11652 | \indexlibrary{\idxcode{duration}!\idxcode{operator+}}%
|
11653 | 11653 | \begin{itemdecl}
|
11654 | 11654 | template <class Rep1, class Period1, class Clock, class Duration2>
|
11655 |
| - constexpr time_point<Clock, typename common_type<duration<Rep1, Period1>, Duration2>::type> |
| 11655 | + constexpr time_point<Clock, common_type_t<duration<Rep1, Period1>, Duration2>> |
11656 | 11656 | operator+(const duration<Rep1, Period1>& lhs, const time_point<Clock, Duration2>& rhs);
|
11657 | 11657 | \end{itemdecl}
|
11658 | 11658 |
|
|
11667 | 11667 | \indexlibrary{\idxcode{duration}!\idxcode{operator-}}%
|
11668 | 11668 | \begin{itemdecl}
|
11669 | 11669 | template <class Clock, class Duration1, class Rep2, class Period2>
|
11670 |
| - constexpr time_point<Clock, typename common_type<Duration1, duration<Rep2, Period2>>::type> |
| 11670 | + constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>> |
11671 | 11671 | operator-(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);
|
11672 | 11672 | \end{itemdecl}
|
11673 | 11673 |
|
|
11680 | 11680 | \indexlibrary{\idxcode{time_point}!\idxcode{operator-}}%
|
11681 | 11681 | \begin{itemdecl}
|
11682 | 11682 | template <class Clock, class Duration1, class Duration2>
|
11683 |
| - constexpr typename common_type<Duration1, Duration2>::type |
| 11683 | + constexpr common_type_t<Duration1, Duration2> |
11684 | 11684 | operator-(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);
|
11685 | 11685 | \end{itemdecl}
|
11686 | 11686 |
|
|
0 commit comments