|
1907 | 1907 | \lhdr{Template} & \rhdr{Comments} \\ \capsep
|
1908 | 1908 | \endhead
|
1909 | 1909 |
|
1910 |
| -\indexlibraryglobal{type_identity}% |
1911 | 1910 | \tcode{template<class T>\br
|
1912 |
| - struct type_identity;} |
| 1911 | + struct \libglobal{type_identity};} |
1913 | 1912 | &
|
1914 | 1913 | The member typedef \tcode{type} denotes \tcode{T}. \\ \rowsep
|
1915 | 1914 |
|
1916 |
| -\indexlibraryglobal{remove_cvref}% |
1917 |
| -\tcode{template<class T>\br struct remove_cvref;} |
| 1915 | +\tcode{template<class T>\br struct \libglobal{remove_cvref};} |
1918 | 1916 | &
|
1919 | 1917 | The member typedef \tcode{type} denotes
|
1920 | 1918 | \tcode{remove_cv_t<remove_reference_t<T>>}.
|
1921 | 1919 | \\ \rowsep
|
1922 | 1920 |
|
1923 |
| -\indexlibraryglobal{decay}% |
1924 |
| -\tcode{template<class T>\br struct decay;} |
| 1921 | +\tcode{template<class T>\br struct \libglobal{decay};} |
1925 | 1922 | &
|
1926 | 1923 | Let \tcode{U} be \tcode{remove_reference_t<T>}. If \tcode{is_array_v<U>} is
|
1927 | 1924 | \tcode{true}, the member typedef \tcode{type} denotes
|
|
1937 | 1934 | \end{tailnote}
|
1938 | 1935 | \\ \rowsep
|
1939 | 1936 |
|
1940 |
| -\indexlibraryglobal{enable_if}% |
1941 |
| -\tcode{template<bool B, class T = void>} \tcode{struct enable_if;} |
| 1937 | +\tcode{template<bool B, class T = void>} \tcode{struct \libglobal{enable_if};} |
1942 | 1938 | &
|
1943 | 1939 | If \tcode{B} is \tcode{true}, the member typedef \tcode{type}
|
1944 | 1940 | denotes \tcode{T}; otherwise, there shall be no member
|
1945 | 1941 | \tcode{type}. \\ \rowsep
|
1946 | 1942 |
|
1947 | 1943 | \tcode{template<bool B, class T,}
|
1948 | 1944 | \tcode{class F>}\br
|
1949 |
| - \tcode{struct conditional;} |
| 1945 | + \tcode{struct \libglobal{conditional};} |
1950 | 1946 | &
|
1951 | 1947 | If \tcode{B} is \tcode{true}, the member typedef \tcode{type} denotes \tcode{T}.
|
1952 | 1948 | If \tcode{B} is \tcode{false}, the member typedef \tcode{type} denotes \tcode{F}. \\ \rowsep
|
|
1959 | 1955 | Each type in the template parameter pack \tcode{T} shall be
|
1960 | 1956 | complete, \cv{}~\keyword{void}, or an array of unknown bound. \\ \rowsep
|
1961 | 1957 |
|
1962 |
| -\indexlibraryglobal{basic_common_reference}% |
1963 | 1958 | \tcode{template<class, class,}
|
1964 | 1959 | \hspace*{2ex}\tcode{template<class> class,}
|
1965 | 1960 | \hspace*{2ex}\tcode{template<class> class>}
|
1966 | 1961 | \keyword{struct}
|
1967 |
| - \hspace*{2ex}\tcode{basic_common_reference;} |
| 1962 | + \hspace*{2ex}\tcode{\libglobal{basic_common_reference};} |
1968 | 1963 | &
|
1969 | 1964 | Unless this trait is specialized,
|
1970 | 1965 | there shall be no member \tcode{type}. \\ \rowsep
|
1971 | 1966 |
|
1972 |
| -\indexlibraryglobal{common_reference}% |
1973 |
| -\tcode{template<class... T>} \tcode{struct common_reference;} |
| 1967 | +\tcode{template<class... T>} \tcode{struct \libglobal{common_reference};} |
1974 | 1968 | &
|
1975 | 1969 | The member \grammarterm{typedef-name} \tcode{type} is defined or omitted
|
1976 | 1970 | as specified below. Each type in the parameter pack \tcode{T} shall
|
1977 | 1971 | be complete or \cv{} \keyword{void}. \\ \rowsep
|
1978 | 1972 |
|
1979 |
| -\indexlibraryglobal{underlying_type}% |
1980 | 1973 | \tcode{template<class T>}\br
|
1981 |
| - \tcode{struct underlying_type;} |
| 1974 | + \tcode{struct \libglobal{underlying_type};} |
1982 | 1975 | &
|
1983 | 1976 | If \tcode{T} is an enumeration type, the member typedef \tcode{type} denotes
|
1984 | 1977 | the underlying type of \tcode{T}\iref{dcl.enum};
|
1985 | 1978 | otherwise, there is no member \tcode{type}.\br
|
1986 | 1979 | \mandates \tcode{T} is not an incomplete enumeration type. \\ \rowsep
|
1987 | 1980 |
|
1988 |
| -\indexlibraryglobal{invoke_result}% |
1989 | 1981 | \tcode{template<class Fn,}\br
|
1990 | 1982 | \tcode{class... ArgTypes>}\br
|
1991 |
| - \tcode{struct invoke_result;} |
| 1983 | + \tcode{struct \libglobal{invoke_result};} |
1992 | 1984 | &
|
1993 | 1985 | If the expression \tcode{\placeholdernc{INVOKE}(declval<Fn>(), declval<ArgTypes>()...)}\iref{func.require}
|
1994 | 1986 | is well-formed when treated as an unevaluated operand\iref{term.unevaluated.operand},
|
|
2009 | 2001 | are complete types, \cv{}~\keyword{void}, or arrays of
|
2010 | 2002 | unknown bound.\\ \rowsep
|
2011 | 2003 |
|
2012 |
| -\indexlibraryglobal{unwrap_reference}% |
2013 |
| -\tcode{template<class T>} \tcode{struct unwrap_reference;} |
| 2004 | +\tcode{template<class T>} \tcode{struct \libglobal{unwrap_reference};} |
2014 | 2005 | &
|
2015 | 2006 | If \tcode{T} is
|
2016 | 2007 | a specialization \tcode{reference_wrapper<X>} for some type \tcode{X},
|
2017 | 2008 | the member typedef \tcode{type} of \tcode{unwrap_reference<T>}
|
2018 | 2009 | denotes \tcode{X\&},
|
2019 | 2010 | otherwise \tcode{type} denotes \tcode{T}. \\ \rowsep
|
2020 | 2011 |
|
2021 |
| -\indexlibraryglobal{unwrap_ref_decay}% |
2022 |
| -\tcode{template<class T>} \tcode{unwrap_ref_decay;} |
| 2012 | +\tcode{template<class T>} \tcode{\libglobal{unwrap_ref_decay};} |
2023 | 2013 | &
|
2024 | 2014 | The member typedef \tcode{type} of \tcode{unwrap_ref_decay<T>}
|
2025 | 2015 | denotes the type \tcode{unwrap_reference_t<decay_t<T>>}.\\
|
|
0 commit comments