synth-three-way, synth-three-way-result
ja.cppreference.net より
constexpr auto synth-three-way = /* see below */;
|
(1) | (C++20以上) (説明専用*) |
template< class T, class U = T >
using synth-three-way-result =
decltype(synth-three-way(std::declval<T&>(), std::declval<U&>()));
|
(2) | (C++20以上) (説明専用*) |
1)
operator()が合成された三方比較関数として振る舞う関数オブジェクト。以下と同等:
constexpr auto synth-three-way =
[]<class T, class U>(const T& t, const U& u)
requires requires
{
{ t < u } -> boolean-testable;
{ u < t } -> boolean-testable;
}
{
if constexpr (std::three_way_comparable_with<T, U>)
return t <=> u;
else
{
if (t < u)
return std::weak_ordering::less;
if (u < t)
return std::weak_ordering::greater;
return std::weak_ordering::equivalent;
}
};
2)
operator()の(1) (synth-three-way)の戻り値の型。パラメータ
| t, u | - | 比較対象の値 |
戻り値
比較結果。
関連項目
|
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20)
|
pair内の値を辞書式に比較する
(関数テンプレート) |
|
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20)
|
タプル内の値を辞書式に比較
(関数テンプレート) |
|
(C++11)
(C++11)
(C++20で削除)
(C++11)
(C++20で削除)
(C++11)
(C++20で削除)
(C++11)
(C++20で削除)
(C++11)
(C++20で削除)
(C++20)
|
2つの
array
の値を辞書順で比較する
(関数テンプレート) |
|
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20)
|
2つの
deque
の値を辞書順で比較する
(関数テンプレート) |
|
(C++11)
(C++11)
(C++20で削除)
(C++11)
(C++20で削除)
(C++11)
(C++20で削除)
(C++11)
(C++20で削除)
(C++11)
(C++20で削除)
(C++20)
|
2つの
forward_list
の値を辞書順で比較する
(関数テンプレート) |
|
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20)
|
2つの
list
の値を辞書順に比較する
(関数テンプレート) |
|
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20)
|
2つの
vector
の値を辞書順に比較する
(関数テンプレート) |
|
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20)
|
2つの
map
の値を辞書順で比較する
(関数テンプレート) |
|
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20)
|
2つの
multimap
の値を辞書順で比較する
(関数テンプレート) |
|
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20)
|
2つの
set
の値を辞書順で比較する
(関数テンプレート) |
|
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20で削除)
(C++20)
|
2つの
multiset
の値を辞書順で比較する
(関数テンプレート) |