[syserr.errcat.nonvirtuals]

# 19 Diagnostics library [[diagnostics]](./#diagnostics)

## 19.5 System error support [[syserr]](syserr#errcat.nonvirtuals)

### 19.5.3 Class error_category [[syserr.errcat]](syserr.errcat#nonvirtuals)

#### 19.5.3.3 Non-virtual members [syserr.errcat.nonvirtuals]

[ð](#lib:operator==,error_category)

`bool operator==(const error_category& rhs) const noexcept;
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/diagnostics.tex#L889)

*Returns*: this == &rhs[.](#1.sentence-1)

[ð](#lib:operator%3c=%3e,error_category)

`strong_ordering operator<=>(const error_category& rhs) const noexcept;
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/diagnostics.tex#L900)

*Returns*: compare_three_way()(this, &rhs)[.](#2.sentence-1)

[*Note [1](#note-1)*:

compare_three_way ([[comparisons.three.way]](comparisons.three.way "22.10.8.8 Class compare_­three_­way")) provides a total ordering for pointers[.](#2.sentence-2)

â *end note*]
