|
1080 | 1080 | template<class R, class T, class U>
|
1081 | 1081 | concept Relation =
|
1082 | 1082 | Predicate<R, T, T> && Predicate<R, U, U> &&
|
1083 |
| - CommonReference<const remove_reference_t<T>&, const remove_reference_t<U>&> && |
1084 |
| - Predicate<R, |
1085 |
| - common_reference_t<const remove_reference_t<T>&, const remove_reference_t<U>&>, |
1086 |
| - common_reference_t<const remove_reference_t<T>&, const remove_reference_t<U>&>> && |
1087 | 1083 | Predicate<R, T, U> && Predicate<R, U, T>;
|
1088 | 1084 | \end{itemdecl}
|
1089 | 1085 |
|
1090 |
| -\begin{itemdescr} |
1091 |
| -\pnum |
1092 |
| -Let |
1093 |
| -\begin{itemize} |
1094 |
| -\item \tcode{r} be an expression such that \tcode{decltype((r))} is \tcode{R}, |
1095 |
| -\item \tcode{t} be an expression such that \tcode{decltype((t))} is \tcode{T}, |
1096 |
| -\item \tcode{u} be an expression such that \tcode{decltype((u))} is \tcode{U}, |
1097 |
| - and |
1098 |
| -\item \tcode{C} be |
1099 |
| - \begin{codeblock} |
1100 |
| - common_reference_t<const remove_reference_t<T>&, |
1101 |
| - const remove_reference_t<U>&> |
1102 |
| - \end{codeblock} |
1103 |
| -\end{itemize} |
1104 |
| -\tcode{\libconcept{Relation}<R, T, U>} is satisfied only if |
1105 |
| - |
1106 |
| -\begin{itemize} |
1107 |
| -\item \tcode{bool(r(t, u)) == bool(r(C(t), C(u))).} |
1108 |
| -\item \tcode{bool(r(u, t)) == bool(r(C(u), C(t))).} |
1109 |
| -\end{itemize} |
1110 |
| -\end{itemdescr} |
1111 |
| - |
1112 | 1086 | \rSec2[concept.strictweakorder]{Concept \libconcept{StrictWeakOrder}}
|
1113 | 1087 |
|
1114 | 1088 | \indexlibrary{\idxcode{Relation}}%
|
|
0 commit comments