名稱空間
變體
操作

std::ranges::equal_to

來自 cppreference.com
 
 
 
函式物件
函式呼叫
(C++17)(C++23)
恆等函式物件
(C++20)
透明運算子包裝器
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

舊繫結器和介面卡
(直到 C++17*)
(直到 C++17*)
(直到 C++17*)
(直到 C++17*)  
(直到 C++17*)
(until C++17*)(until C++17*)(until C++17*)(until C++17*)
(直到 C++20*)
(直到 C++20*)
(直到 C++17*)(直到 C++17*)
(直到 C++17*)(直到 C++17*)

(直到 C++17*)
(until C++17*)(until C++17*)(until C++17*)(until C++17*)
(直到 C++20*)
(直到 C++20*)
 
定義於標頭檔案 <functional>
struct equal_to;
(C++20 起)

用於執行比較的函式物件。函式呼叫運算子的引數型別(而非返回型別)從實參推導。

目錄

[編輯] 巢狀型別

巢狀型別 定義
is_transparent 未指定

[編輯] 成員函式

operator()
檢查引數是否“相等”
(公開成員函式)

std::ranges::equal_to::operator()

template< class T, class U >
constexpr bool operator()( T&& t, U&& u ) const;

給定表示式 std::forward<T>(t) == std::forward<U>(u)expr

  • 對於兩個已轉換的指標(型別為 P),若其中一個指標在實現定義的指標嚴格全序中先於另一個,則返回 false,否則返回 true
  • 若從 TP 的轉換序列或從 UP 的轉換序列不等價保留,則行為未定義。
  • 否則

此過載僅在 std::equality_comparable_with<T, U> 滿足時才參與過載決議。

[編輯] 註解

std::equal_to 相比,std::ranges::equal_to 額外要求 != 有效,並且兩個實參型別都要求(同質地)與其自身可比較(透過 equality_comparable_with 約束)。

[編輯] 示例

[編輯] 缺陷報告

下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。

缺陷報告 應用於 釋出時的行為 正確的行為
LWG 3530 C++20 比較指標時放寬了語法檢查 僅放寬了語義要求

[編輯] 參閱

實現 x == y 的函式物件
(類模板) [編輯]