Herb Sutter
c57e95d1c8
Clarify meaning of "inline" in F.5, closes #1731
2021-02-18 11:33:58 -08:00
Herb Sutter
fa56634596
Add local lambdas and variable templates to T.61: Closes #1742
2021-02-18 11:29:49 -08:00
Herb Sutter
64ab13b3d0
Closes #1748
2021-02-18 11:20:09 -08:00
Herb Sutter
a97be2d528
Addresses #1732
2021-02-11 11:57:50 -08:00
Sergey Zubkov
3e61563a0c
make hunspell happy
2021-01-28 22:16:03 -05:00
Herb Sutter
75cc9a102f
Improves I.24 rule wording, closes #1733
2021-01-28 11:53:10 -08:00
Herb Sutter
caab79d1e9
Improving the wording of I.25 per #1734
2021-01-28 11:46:27 -08:00
Herb Sutter
f46ce437e0
Slightly improved F.20 to highlight the note about const return values
2021-01-28 11:36:40 -08:00
syntroniks
a5a4d0b4a2
update Enum.7 note with consistent capitalization ( #1739 )
2021-01-28 13:57:07 -05:00
Sergey Zubkov
f6f1a49a41
typo
2021-01-24 22:32:35 -05:00
Herb Sutter
3c1991b87b
Updated T.68 example
2021-01-21 11:46:01 -08:00
Herb Sutter
520ac9c695
Updated the new ES.3
...
Added xref, massaged summary.
2021-01-21 11:43:50 -08:00
shaneasd
627ed66ce6
Update reference to SF.7 to match text ( #1735 )
2021-01-21 11:39:04 -08:00
Florian Behrens
c142bc9d7e
Improve example in CP.4 to not contradict F.53. ( #1724 )
...
Changed the example so that objects are not passed by reference to other thread contexts (though threads are properly synchronized).
2021-01-21 11:38:19 -08:00
peno2
b5412f5922
Add new rule ES.3 Don't repeat yourself ( #1715 )
...
* Add new rule ES.3 Don't repeat yourself
* Replace function example with more inclusive/neutral language
Add a reference to topic on libraries.
2021-01-21 11:13:45 -08:00
Sergey Zubkov
2c95a33fef
travis CI fixes
2020-12-16 23:14:07 -05:00
David Leal
cef2f6bb77
Replace Travis CI with GitHub Actions ( #1688 )
2020-12-16 23:06:38 -05:00
Niels Dekker
e2c0f23ce1
F.60: Remove C-style cast (T&) from example of invalid C++ ( #1711 )
2020-11-16 11:07:56 -05:00
Herb Sutter
a6eb40c5a2
Improved F.7 lifetime note; closes #1698
2020-10-29 11:57:25 -07:00
Herb Sutter
5fdddf821d
Added a justification message option for gsl::suppress
...
Closes #1703
2020-10-29 11:37:08 -07:00
Herb Sutter
53aaebb074
Updated Mozilla link and Google style guide C++ version note
...
Closes #1705
2020-10-29 11:21:25 -07:00
Fernando J. Iglesias García
525d8f225e
Update C.83 with swap for resource mgmt. ( #1694 )
...
* Update C.83 with swap for resource mgmt.
The swap is useful to implement assignments idiomatically (e.g. copy-swap idiom).
With the current enforcement, to non-virtual classes, very simple classes (e.g. `trivially_copyable`, a struct encapsulating an stl container) are suggested to have a swap. This suggestion can be argued wrong since for very simple classes copy-swap idiom is not efficient (the creation of a third object on assignment is not needed, which copy-swap does).
* Rework C.83 according to PR comments.
2020-10-29 11:12:40 -07:00
Sergey Zubkov
840fa592ac
merge C.150 in R.23, leaving a redirect behind ( #1676 )
2020-10-05 15:09:08 -04:00
hsutter
dd98129f40
Fixes example in ES.105, closes #1678
2020-10-01 11:48:22 -07:00
hsutter
6ad29ce609
Fixes ES.50 example and closes #1682
...
Also removes the only use of `decltype` in the Guidelines, FTW.
2020-10-01 11:30:30 -07:00
Herb Sutter
55bea2089b
Remove string_span, recommend using std::string_view
, std:::span,<char>
or gsl::span<char>
instead ( #1680 )
2020-10-01 11:23:58 -07:00
Herb Sutter
146864fe89
Cleaned up casting guidance ( #1685 )
...
The various guidelines now have consistent Enforcements.
All C-style casts are now consistently banned, including to `(void)`.
Cast to `(void`)` should be `std::ignore =` instead.
All functional-style casts are now consistently banned, instead of
`T(x)` use `T{x}`.
2020-10-01 11:18:38 -07:00
Sergey Zubkov
86102531dc
merge C.151 into R.22, leaving a redirect behind ( #1675 )
2020-10-01 11:10:13 -07:00
Sergey Zubkov
30b41c32e3
merge R.30 and F.7, closes #1671 ( #1674 )
2020-10-01 11:09:24 -07:00
hsutter
c86be249f3
Revert "Revert "Revert "Removed gsl::string_span, recommend using std::string_view, std::span<char>, or gsl::span<char> instead"""
...
This reverts commit 8241609450
.
2020-09-23 15:41:22 -07:00
hsutter
8241609450
Revert "Revert "Removed gsl::string_span, recommend using std::string_view, std::span<char>, or gsl::span<char> instead""
...
This reverts commit f15ee43ad6
.
2020-09-23 15:40:44 -07:00
hsutter
f15ee43ad6
Revert "Removed gsl::string_span, recommend using std::string_view, std::span<char>, or gsl::span<char> instead"
...
This reverts commit 5257915dee
.
2020-09-23 15:40:17 -07:00
hsutter
5257915dee
Removed gsl::string_span, recommend using std::string_view, std::span<char>, or gsl::span<char> instead
2020-09-23 15:39:43 -07:00
Gabriel Dos Reis
ab34c8b6b0
Merge pull request #1679 from N-Dekker/E.30-Remove-suggestion-to-use-throw()
...
E.30: Remove suggestion to use `throw()`
2020-09-21 19:54:11 -07:00
Niels Dekker
0d46b2006c
E.30: Remove suggestion to use throw()
...
Removed the suggestion to use `throw()` from E.30 ("Don't use exception specifications"), as it was deprecated by C++11, and is rejected by C++20.
2020-09-21 19:16:05 +02:00
hsutter
2e3f983971
Restored whitespace after "might"
...
Fixing previous commit where we ate the whitespace after "may" in four
places (yay regex search `might[^\s]`)
2020-09-03 16:34:34 -07:00
hsutter
75406a2db8
Remove "may" except for the month name -- closes #1542
...
In English, the word "may" is overloaded and ambiguous. This commit
changes it to "might" wherever possible, otherwise more specific
meanings like "can," "could," or especially "must" ("may not" -> "must
not" when that is intended).
2020-09-03 12:57:06 -07:00
David B
fae4ed3768
ES.103 examples updated, addresses Issue #1656 ( #1659 )
...
* ES.103 examples updated, addresses Issue #1656
* Fix cpplint report: Res-overflow0.cpp:18: Missing spaces around <= [whitespace/operators] [3]
2020-09-03 11:17:11 -07:00
rjhcnf
bdccf49849
added minor clarification. ( #1672 )
...
* added minor clarification.
* Update CppCoreGuidelines.md
Updated comment.
* Update CppCoreGuidelines.md
2020-09-03 11:11:30 -07:00
Gabriel Dos Reis
739dc98dff
Merge pull request #1664 from johnmcfarlane/patch-1
...
Add clarifying example to SF.12
2020-08-16 08:35:09 -07:00
John McFarlane
c5a771832a
Add clarifying example to SF.12
...
The examples in SF.12 are likely to encourage readers to always use the `""` form of `'#include` when including headers from the same project ([discussion](https://github.com/isocpp/CppCoreGuidelines/pull/1596#issuecomment-673266275 )). However, in larger projects this may not always be appropriate; `<>` should be used for includes located via a header search path.
This proposed solution adds an example of the later, i.e. where `<>` is used to include a header from the same project.
2020-08-14 06:58:35 +02:00
David B
bd7085e53e
Change [C++CS] refs to [SuttAlex05] Issue #1660 ( #1662 )
2020-08-12 13:37:57 -04:00
Sergey Zubkov
2449d5d60f
E.27: make example compile, closes #1622
2020-08-03 16:48:37 -04:00
hsutter
0439326363
Closes #1579
2020-07-30 12:13:07 -07:00
hsutter
945b34d40e
Closes #1574
...
- Add a cross-reference to C.139 and note that it doesn't matter whether
a function is declared with override or final if the whole class is
already final.
- Fix C.139 to make it clearer that it's about `final` on classes.
2020-07-30 11:32:36 -07:00
hsutter
63e2cd0ecd
Closes #1585
2020-07-30 11:22:00 -07:00
Sergey Zubkov
01fa6a9bcf
R.31 mark Example as Example, bad ( closes #1651 )
2020-07-29 12:37:42 -04:00
LE GARREC Vincent
6d17d10604
T.5: Add an example for Type erasure ( #1625 )
...
Based on :
https://www.modernescpp.com/index.php/c-core-guidelines-type-erasure-with-templates
Co-authored-by: Vincent Legarrec <vincent.legarrec@csdental.com>
2020-07-29 12:37:01 -04:00
cadenzasong
d4e2281a09
removed extra space in an example in CP.2 ( #1654 )
2020-07-26 14:23:33 -04:00
Gabriel Dos Reis
6f50150e94
Merge pull request #1596 from apenn-msft/patch-1
...
SF.12: Prefer the quoted form of `#include` for files relative to the…
2020-07-25 15:00:05 -07:00