Skip to content

Commit

Permalink
flat_map : operator==を追加 #1078
Browse files Browse the repository at this point in the history
  • Loading branch information
faithandbrave committed Sep 14, 2023
1 parent 2311413 commit 430fad2
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 1 deletion.
2 changes: 1 addition & 1 deletion reference/flat_map/flat_map.md
Expand Up @@ -129,7 +129,7 @@ namespace std {
| 名前 | 説明 | 対応バージョン |
|------|------|----------------|
| [`operator==`](flat_map/op_equal.md.nolink) | 左辺と右辺が等しいかの判定を行う | C++23 |
| [`operator==`](flat_map/op_equal.md) | 左辺と右辺が等しいかの判定を行う | C++23 |
| `bool operator!=(const flat_map& x, const flat_map& y);` | 左辺と右辺が等しくないかの判定を行う (`==`により使用可能) | C++23 |
| [`operator<=>`](flat_map/op_compare_3way.md.nolink) | 三方比較を行う | C++23 |
| `bool operator<(const flat_map& x, const flat_map& y);` | 左辺が右辺より小さいかの判定を行う (`<=>`により使用可能) | C++23 |
Expand Down
73 changes: 73 additions & 0 deletions reference/flat_map/flat_map/op_equal.md
@@ -0,0 +1,73 @@
# operator==
* flat_map[meta header]
* std[meta namespace]
* function template[meta id-type]
* flat_map[meta class]

```cpp
friend bool operator==(const flat_map& x, const flat_map& y);
```

## 概要
`x``y` と等しいかどうかの判定を行う。


## 戻り値
以下と等価:

```cpp
return equal(x.begin(), x.end(), y.begin(), y.end());
```
* equal[link /reference/algorithm/equal.md]
* begin()[link begin.md]
* end()[link end.md]


## 計算量
[`size()`](size.md) に対して線形時間。ただし、`x``y`のサイズが異なる場合は定数時間。


## 備考
- この演算子により、以下の演算子が使用可能になる:
- `operator!=`


##
```cpp example
#include <iostream>
#include <flat_map>

int main()
{
std::flat_map<int, char> fm1 = {
{3, 'a'},
{1, 'b'},
{4, 'c'}
};

std::flat_map<int, char> fm2 = {
{3, 'a'},
{1, 'b'},
};

std::cout << std::boolalpha;
std::cout << (fm1 == fm1) << std::endl;
std::cout << (fm1 == fm2) << std::endl;
std::cout << (fm1 != fm1) << std::endl;
std::cout << (fm1 != fm2) << std::endl;
}
```

### 出力
```
true
false
false
true
```

### 処理系
- [Clang](/implementation.md#clang): ??
- [GCC](/implementation.md#gcc): ??
- [Visual C++](/implementation.md#visual_cpp): ??

0 comments on commit 430fad2

Please sign in to comment.