From 567331ab4e6e36a27d85c884fd32843fb209c9b5 Mon Sep 17 00:00:00 2001 From: Arthur O'Dwyer Date: Thu, 2 Jul 2020 14:08:50 -0400 Subject: [PATCH] Const-qualify operator()s. NFC. (#1638) As a general rule, `operator()` should be const-qualified. The exceptions are few and far between. I was actually looking for a Guideline on that subject; I grepped for `operator()` and found that not only is there no such Guideline yet, the doc actually contained these places that (needlessly) violated the general rule. --- CppCoreGuidelines.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CppCoreGuidelines.md b/CppCoreGuidelines.md index f8f3f0b..ac3683b 100644 --- a/CppCoreGuidelines.md +++ b/CppCoreGuidelines.md @@ -6550,7 +6550,7 @@ It's a standard-library requirement. using result_type = size_t; using argument_type = My_type; - size_t operator() (const My_type & x) const + size_t operator()(const My_type & x) const { size_t xs = x.s.size(); if (xs < 4) throw Bad_My_type{}; // "Nobody expects the Spanish inquisition!" @@ -14523,7 +14523,7 @@ It is harder to ensure absence of errors in detached threads (and potentially de void f() { std::cout << "Hello "; } struct F { - void operator()() { std::cout << "parallel world "; } + void operator()() const { std::cout << "parallel world "; } }; int main() @@ -14537,7 +14537,7 @@ It is harder to ensure absence of errors in detached threads (and potentially de void f() { std::cout << "Hello "; } struct F { - void operator()() { std::cout << "parallel world "; } + void operator()() const { std::cout << "parallel world "; } }; int main()