From 8bdb8fe0dc490553f28d4c772a44a9dfa00c8bc6 Mon Sep 17 00:00:00 2001 From: nullptr-cpp Date: Fri, 2 Apr 2021 02:12:18 +0800 Subject: [PATCH] Add '<=>' to comparison operators related rules (C.87, C.167) (#1759) * Add '<=>' to comparison operators related rules (C.87, C.167) C++20's three-way comparison operator should respect the same rules as other comparison operators. * Fix a minor typo Co-authored-by: Jonathan Wakely Co-authored-by: Jonathan Wakely --- CppCoreGuidelines.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CppCoreGuidelines.md b/CppCoreGuidelines.md index b1f6c38..da6c780 100644 --- a/CppCoreGuidelines.md +++ b/CppCoreGuidelines.md @@ -6562,11 +6562,11 @@ Of course there are ways of making `==` work in a hierarchy, but the naive appro ##### Note -This rule applies to all the usual comparison operators: `!=`, `<`, `<=`, `>`, and `>=`. +This rule applies to all the usual comparison operators: `!=`, `<`, `<=`, `>`, `>=`, and `<=>`. ##### Enforcement -* Flag a virtual `operator==()`; same for other comparison operators: `!=`, `<`, `<=`, `>`, and `>=`. +* Flag a virtual `operator==()`; same for other comparison operators: `!=`, `<`, `<=`, `>`, `>=`, and `<=>`. ### C.89: Make a `hash` `noexcept` @@ -8344,9 +8344,9 @@ By itself, `cout_my_class` would be OK, but it is not usable/composable with cod ##### Note -There are strong and vigorous conventions for the meaning most operators, such as +There are strong and vigorous conventions for the meaning of most operators, such as -* comparisons (`==`, `!=`, `<`, `<=`, `>`, and `>=`), +* comparisons (`==`, `!=`, `<`, `<=`, `>`, `>=`, and `<=>`), * arithmetic operations (`+`, `-`, `*`, `/`, and `%`) * access operations (`.`, `->`, unary `*`, and `[]`) * assignment (`=`)