Commit Graph

1421 Commits

Author SHA1 Message Date
hsutter
61cdce115e Improved description of F.3 example
The example in F.3 is not really long, but it is complex
2018-10-11 12:09:41 -07:00
hsutter
3fbc0b35a4 Closes #1265, make the chaining exception more visible 2018-10-11 11:33:49 -07:00
Alexander Knorre
7733c326b2 No double deletion (#1278) 2018-10-11 11:04:27 -07:00
Martin
0b275097b6 Fixed a typo within ES.23 2018-10-10 20:49:09 +01:00
tcorbat
e81d770bdc Fix broken link to Lifetime paper (#1274) 2018-10-03 08:38:23 -07:00
Sergey Zubkov
30a0e1bef7 closes #1239 2018-09-30 21:24:00 -04:00
Sergey Zubkov
8915f05950 travis CI fixes 2018-09-23 16:02:45 -04:00
hsutter
fa7b1fe41f Fixed Lifetime.pdf link 2018-09-20 18:33:26 -07:00
hsutter
f02b24a71a Update Lifetime profile to 1.0 2018-09-20 18:32:38 -07:00
hsutter
ecfd61c8d8 Clarify C.128
Improved readability of primary paragraph.
Added Discussion section of the classes of errors being addressed.
2018-09-13 13:22:23 -07:00
hsutter
104cd63a37 Closes #1257
Fixed example
2018-09-06 11:59:34 -07:00
hsutter
60e19d76a4 Closes #1254 2018-09-06 11:52:03 -07:00
beinhaerter
5b372a99d8 Fixes Issue #1253: wrong link in SS-bounds to Res-simple (#1255)
Replaced Res-simple with Res-ptr.
2018-09-06 14:44:06 -04:00
Sergey Zubkov
1e12aba7af missing a return *this in a copy-assignment 2018-09-06 07:30:45 -04:00
Sergey Zubkov
faad9d8b56 one more typo 2018-09-05 20:19:03 -04:00
Sergey Zubkov
73057d3b0b travis CI fixes and typos 2018-09-05 20:01:36 -04:00
Sergey Zubkov
b16eb424e9 typo: funct1_tau -> func1_tau 2018-09-05 19:40:24 -04:00
Bjarne Stroustrup
e75a7056c4 Resolving #1146
explaining SCARY and referencing the SCARY paper
2018-09-03 17:25:44 -04:00
Bjarne Stroustrup
a0bc2d71ca resolving #1137
clarification
2018-09-03 17:02:01 -04:00
Bjarne Stroustrup
647aa80f0d applying #1139
more references to C++17
2018-09-03 16:45:26 -04:00
Bjarne Stroustrup
79a5b08ad9 resolve #1175
I added a note
2018-09-03 14:51:03 -04:00
Bjarne Stroustrup
5cabda84d7 resolve #1185
implicit operator functions
2018-09-03 14:28:01 -04:00
Bjarne Stroustrup
d3c3e3aa98 resolve #1209, #814, and #167
noexcept and destructors
2018-09-03 13:50:10 -04:00
Bjarne Stroustrup
f3e7dbac6e Resolution of #1228
explicitly discouraging the use of # and ##
2018-09-03 11:56:48 -04:00
Bjarne Stroustrup
c11001f0a6 resolving #1238 about style
The caveat is added only to the subset of rules where it appears to be
relevant
2018-09-03 10:20:20 -04:00
Bjarne Stroustrup
dd4cae0260 Resolve #1241 about returning T&& 2018-09-03 10:04:48 -04:00
hsutter
e31a85dc2d Closes #1251 2018-08-13 11:27:45 -07:00
Neil MacIntosh
0c7a349342 Fix example for ES.70 (#1252)
As per #574, fixes the example in ES.70 to emphasize good use of a switch over a sequence of if-else-if statements.
2018-08-13 11:25:57 -07:00
hsutter
d1def3290c Tweaked PR 1249 post-merge to cover copy assignment too 2018-08-13 11:18:52 -07:00
Andrzej Krzemieński
08f67de9fb Updated C.67 and C.130 (#1249)
* Updated C.67 and C.130

This addresses https://github.com/isocpp/CppCoreGuidelines/issues/1246.

* fixed typeos

* updated dictionary
2018-08-13 11:17:23 -07:00
Jonathan Wakely
42f8fa5f84 Use H3 heading for C.140 instead of H2
Fixes #1250
2018-08-10 17:38:16 +01:00
martysama0134
513a5fd624 Fix example good in ES.42, count to a.size() (#1245)
* Fix example good in ES.42, count to a.size()

* Fix typos in ES.64 and Con.1

* Fix Example bad in T.3, no value in subscript
2018-08-06 08:06:32 -07:00
jeffreylindsey
6dd14321c1 GSL grammar fix, added missing plurality in full name (#1243)
* Renamed all appropriate instances of "guideline support library" to "guidelines support library".

* Renamed additional instances of "guideline support library" to "guidelines support library" in remaining files.
2018-08-06 08:04:40 -07:00
jeffreyai
04b2fabb9b Change 'lifetime profile' to 'lifetime safety profile' and fix the bad/broken links (#1240)
'lifetime profile' is only used twice with bad/broken links. 'lifetime safety' and 'lifetime safety profile' are used more frequently, and make more sense.
2018-07-12 08:22:14 -04:00
Sergey Zubkov
cb08aa24a4
s/more that two/more than two 2018-06-25 16:16:40 -04:00
hsutter
e0ecfc83b7 Closes 1220 2018-06-18 11:47:53 -07:00
hsutter
a488f1d8b5 Added F.48, closes #1219 2018-06-18 11:44:29 -07:00
hsutter
c0a2efdfe8 Closes #1218 2018-06-18 11:40:39 -07:00
hsutter
1283da9afa Closes #1216 2018-06-18 11:35:08 -07:00
hsutter
28e9f02550 Let's =default to avoid an out of line definition question 2018-06-18 11:26:40 -07:00
hsutter
aa645b0372 Closes #1214
Added virtual dtor to make the example standalone
2018-06-18 11:25:16 -07:00
Richard Evans
0d0026e61e Correct Dewhurst link to reference found in discussion for C.47 2018-06-11 14:33:26 +01:00
kugelrund
dea3b94f12
Clarify result of lower_bound
The previous formulation made it sound like the return value is always `last` if `val` is not in the range, which might lead to confusion.
2018-05-26 10:03:29 +02:00
Jonathan Wakely
4af8321e91 Fix "an reasonable" typo
Fixes #1211
2018-05-15 15:25:23 +01:00
Gabriel Dos Reis
599fb02d12
Merge pull request #1208 from mabuchner/1207-cp-31-memory-corruption-from-example
Pass parameter as reference in CP.31 example
2018-05-14 11:10:24 -07:00
Sergey Zubkov
a866b000d3
it's deletion -> its deletion 2018-05-10 12:05:09 -04:00
Sergey Zubkov
4e58fb87f7
typo: "nothing to do with sync" -> "nothing to do with stdasync" 2018-05-08 08:46:51 -04:00
mbuchner
7261f5d2fb Pass parameter as reference in CP.31 example
Fixes #1207.
2018-05-08 09:25:01 +02:00
Gabriel Dos Reis
20d9f42674
Merge pull request #1198 from ianhattendorf/SL-str-12-cpp-14
SL.str.12: s suffix is available in C++14
2018-04-30 11:16:47 -07:00
Gabriel Dos Reis
046b2a0833
Merge pull request #1201 from mabuchner/1200-es-102-odd-loop-condition-in-second-example
Fix ES.102 odd loop condition in example
2018-04-30 11:15:32 -07:00
Gabriel Dos Reis
46ecdd6830
Merge pull request #1202 from gumb0/patch-1
Remove unnecessary comments from C.42 examples
2018-04-30 11:13:26 -07:00
Andrei Maiboroda
ff4a3069a1
Fix comments in C.42 examples 2018-04-25 18:27:19 +02:00
Andrei Maiboroda
2ee3fff631
Fix typo in C.44 2018-04-25 18:21:54 +02:00
Ian Hattendorf
d49c720e98 Fix typo in error handling intro 2018-04-20 16:12:32 +01:00
Ian Hattendorf
69d48f76c7 E.14 an->a is->are fixes 2018-04-20 16:12:32 +01:00
Ian Hattendorf
2cedd99f32 Remove whitespace at the end of lines 2018-04-20 16:12:32 +01:00
mbuchner
53c0bd2bd1 Fix ES.102 odd loop condition in example 2018-04-20 09:46:27 +02:00
Ian Hattendorf
ee64b7ec17
SL.str.12: s suffix is available in C++14
std::literals::string_literals::operator""s is available since C++14
while std::pair class template argument deduction is available since
C++17
2018-04-19 19:10:26 -07:00
hsutter
1e4dba2c0b Renamed NL.10 to "prefer underscore_style names" 2018-04-16 11:34:59 -07:00
hsutter
93ac723f6b Fixed rest of T.12 example following up #1189 2018-04-16 11:26:15 -07:00
Alexander “weej” Jones
15008e8432 Fix T.12's incorrect usage of vector::begin() (#1189) 2018-04-16 11:25:22 -07:00
hsutter
a5e28d4a61 Updated intro wording 2018-04-16 11:22:40 -07:00
Andrew Pardoe
b21b125d42 Capitalization error 2018-04-16 11:15:57 -07:00
hsutter
b3d2f853f7 Changed "method" to "function" in three places for consistency 2018-04-16 11:14:25 -07:00
hsutter
cea965f610 Reworded "consume" to "will-move-from" parameters
To improve clarity since the wording was causing confusion
2018-04-16 11:06:48 -07:00
Gabriel Dos Reis
99b997b6f0
Merge pull request #1179 from jwakely/issue-1177
Fix comment to match code
2018-04-09 11:17:13 -07:00
Chris Guzak
e5f28e4095 SF.11, Header files should be self-contained (#1181)
* SF.11 Header files should be self-sufficient added

* PR feedback addressed

* explain more

* update reason baed on PR feedback

* add VS code dir to .gitignore

* more PR feedback
2018-04-09 11:16:18 -07:00
Gabriel Dos Reis
85db0de16c
Merge pull request #1183 from beinhaerter/formatting
Formatting in C.46
2018-04-05 15:28:25 -07:00
Werner Henze
0cb724fe20 Fixed link for "avoid conversion operators" 2018-04-04 19:59:41 +02:00
Werner Henze
b724f71473 Formatting "explicit" as code 2018-04-04 19:53:07 +02:00
Jason Mercer
c0264f3831 fixed scale factor for millimeters (#1182) 2018-04-03 15:01:57 -04:00
Jonathan Wakely
e721ee53cb Fix comment to match code
Also fix missing references and add cross-reference to F.22.

Fixes #1177
2018-03-27 12:16:21 +01:00
Jonathan Wakely
dbe8bf0207 Fix typo
Fixes #1176
2018-03-27 11:45:16 +01:00
Andrew Pardoe
9ac22abe0a Adding note suggested by @jwakely in #1165 2018-03-26 12:03:46 -07:00
Andrew Pardoe
b9fe28cc2a update date 2018-03-26 11:55:31 -07:00
Jonathan Wakely
ba25a26294 Rephrase C.21 to talk about declaring not defining (#1152)
* Rephrase C.21 to talk about declaring not defining

Add examples.

Fixes #870.

* Define special functions, clarify default constructor effects
2018-03-26 11:15:03 -07:00
fekir
ab5f9c18bd catch by reference in all samples (#1154) 2018-03-26 11:13:49 -07:00
Stephan Weller
2c3d9921b6 Replace erroneous public keyword by private in C.129. (#1166) 2018-03-26 11:13:11 -07:00
beinhaerter
edf13aabc0 Note that C.46 does not apply for copy/move ctors (#1169)
* Note that C.46 does not apply for copy/move ctors

* moved Note section before Enforcement section
2018-03-26 11:12:03 -07:00
Gabriel Dos Reis
644e0f5b5e
Merge pull request #1164 from ChrisGuzak/ChrisGuzak-sizeof-not_max
use sizeof(buffer) instead of MAX
2018-03-22 16:15:32 -07:00
echeij
6ed138076d Fixed get_string example in F.21 (#1160)
In the 'all values as return value' example in F.21, the passed istream was not used in the function.
2018-03-14 10:14:07 -04:00
Chris Guzak
373f4c4808
use sizeof(buffer) instead of MAX 2018-03-13 15:28:26 -07:00
nnaka
09035eb1e4 Align comment block (#1162) 2018-03-11 13:35:09 +00:00
nnaka
9c4d4247b1 P.5 example read int array size mismatch (#1161)
Expand comment to clarify problem.
2018-03-11 08:13:55 +00:00
Andrew Pardoe
b487f9790a subject-verb agreement in NL.2 2018-03-09 14:23:39 -08:00
hsutter
8d5d5e4aeb To address #1147
Changed `.length()` to `.size()` for `span` examples to track
standardization changes.
2018-03-05 10:51:31 -08:00
Andrew Pardoe
beed3e97c0 update date 2018-02-26 14:31:04 -08:00
Ari Hietanen
6c55d4eaaf Bug fix C4 class Foobar (#1143)
* Fixed bug in example code of C4 Expecptions. In C4, the class function void Foobar::foo(double x) is supposed to call the overloaded void Foobar::foo(int x), but in the call foo(std::round(x)), std::round returns a double. Hence, it will get stuck in an infinite recursive loop. Added static_cast<int>(..) to enforce the call to right overload. Added also keyword public to be more consistent.

* Changed static_cast<int> to narrow_cast<int> following ES.46.

* Modified C4 Foobar class, s.t, std::lround(x) is now called in
void foo(double) and the overload is changed to void foo(long) from (int). Now there is
no need for conversions.
2018-02-26 11:11:51 -08:00
Tobias Mende
da3b6b98bc Do Not Check For nullptr Explicitely In Examples (closes #1142) (#1144) 2018-02-26 11:09:45 -08:00
beinhaerter
9c98f9679c Copy-Paste-Typo in Comment for ES.87 sample (==0/!=0) (#1145) 2018-02-26 11:07:05 -08:00
hsutter
10c0a8b156 Closes #1119
Make C.43 crisper -- the guideline is that default construction is
required for copyable types. A lot of the existing examples then just
fall out, without having to be presented as special cases. This was the
original intent and I think this new text helps make that clearer.
2018-02-12 16:03:01 -08:00
Andrew Pardoe
d9f3149e11 Update references to C++17, also typo 2018-02-12 11:56:59 -08:00
Dipl.-Ing. Raoul Rubien, BSc
73dad7909d title page/In.sec: reordered and updated titles (#1135)
* title page: updated titles and unified titles' camel case to sentence case

* In.sec: reordered bullets to match document's workflow, updated titles

* updated several links and link names, modified names to title case

* redirected broken link to new anchor Rf-value-return at 'value return sematic rules' block

* updated links

* reverted unindended broken artistic prose

* updated links, modified "see also's" formatting to comply with the majority

* modified "see also's" formatting to comply with the majority

* fix spellcheck: 'Componentization -> Compartmentalization'

* updated link name
2018-02-12 11:12:58 -08:00
Bernardo Sulzbach
eb534411a7 Should say repository instead of depository (#1138) 2018-02-10 11:43:02 -08:00
Dipl.-Ing. Raoul Rubien, BSc
888067d6ff fixed spellcheck/lint issues on running make in ./scripts/ (#1134) 2018-01-24 08:12:05 -08:00
Sergey Zubkov
25d9d12e15 travis CI fixes 2018-01-24 09:19:47 -05:00
hsutter
f8f396ef3b Typo fix to NL.5 2018-01-23 12:03:41 -08:00
hsutter
c5f67599d1 Added another example to NL.5 2018-01-23 12:01:57 -08:00
hsutter
c10e5503e9 Closes #1104 2018-01-23 12:01:56 -08:00
Sergey Zubkov
e3f753ed14 the copy ctor typo and comment fixes from #1125 2018-01-23 14:19:11 -05:00
Andrew Pardoe
15ca9d220c Fixing typo per #1130 & updating date 2018-01-22 11:24:19 -08:00
Herb Sutter
c1e3cd01cd Add gsl::index, closes #1098 (#1115)
* Add gsl::index, closes #1098

And update examples throughout to use `index` as appropriate

* Actually adding `index` to the GSL.util section

* Added `sizeof` to whitelisted signed/unsigned comparisons

Same reason as container `.size()` -- better backward compatibility with
the existing standard
2018-01-22 11:16:11 -08:00
Oleg Artenii
b677b69014 Removed useless "Currently (July 2016)" (#1123)
* Removed useless "Currently (July 2016)"

* replaced `GCC 6.1` with `GCC 6.1 or later`

* Correct usage of `and/or` in `GCC 6.1 _ later`
2018-01-22 11:14:51 -08:00
rknuus
2bdd1ae705 add example for R.24 (#1127)
* add example for R.24

taken from https://cpppatterns.com/patterns/weak-reference.html, where
it's published under CC0 Public Domain Dedication

* improve example for R.24
2018-01-22 11:08:23 -08:00
Jonathan Wakely
5c3006b60f Change "untended" to "unintended" in C.9 2018-01-09 22:27:14 +00:00
Sergey Zubkov
59eb77027e travis CI fixes 2018-01-02 22:15:02 -05:00
Bjarne Stroustrup
8f87a03588 ES.87
#1032 comment and example added.
To consider: should integer comparison be broken out as its own rule?
2018-01-01 17:37:38 -05:00
Bjarne Stroustrup
72b9b40a7c Some examples in Per.11
In response to #936 I added some text to Per.11. More would be welcome
2018-01-01 15:47:20 -05:00
Bjarne Stroustrup
edbfc3b8ec Clarifying (I hope) text and example added
addressing #980 and #9777
2018-01-01 14:26:00 -05:00
Bjarne Stroustrup
0df2c26e9a C.129
#1052 added Jonathan's example
2018-01-01 13:56:34 -05:00
Bjarne Stroustrup
ff42e7bbaf closing #547
(now?) we have CP.3 and CP.31. Also CP.mess.
Yes we need more work on CP.mess
2018-01-01 11:44:58 -05:00
Bjarne Stroustrup
ecabc369bb simplifying ES.20
#488
2018-01-01 11:13:38 -05:00
Bjarne Stroustrup
7e5019378b Fix #493 array myth
Added comment about performance to SL.con.1
2018-01-01 10:40:45 -05:00
Andrew Pardoe
7cfb1d7961 update date 2017-12-26 08:13:24 -08:00
Mitch Phillips
bd948ee839 Fix example code in F.20. (#1109) 2017-12-22 16:01:42 -05:00
michaelz85
044a4b277e fixed anchor name for T.21 (#1108) 2017-12-20 11:50:46 -05:00
michaelz85
7c11ac1acf fixed a word (should be 'that' not 'the') (#1107) 2017-12-20 11:46:50 -05:00
michaelz85
b5a20f10ea fixed error in code comment (#1105) 2017-12-18 11:39:04 -05:00
Oleg Artenii
352e94babe fixed minor typo: "on the on the" -> "on the" (#1103) 2017-12-13 12:52:13 -05:00
Andrew Pardoe
d3a523eea8
Typos found at I.* (#1093)
* Typo: change word compute by inserted code .  is the name of a previous function.

* Typo: add missing comma

* Typo: minor period typo

* Typo: form lower to upper case

* Typos found at I.*

Typo: add missing comma

Typo: minor period typo

Typo: form lower to upper case

Typos found at I.*
2017-12-11 11:13:07 -08:00
Andrew Pardoe
3667b08ce3
Merge pull request #1095 from brenoguim/hotfix/public-deleted-methods
Add public access modifier to examples
2017-12-11 11:11:23 -08:00
Andrew Pardoe
fbc48fafb0
Merge pull request #1096 from brenoguim/hotfix/recommend-public-deleted-methods
Recommend deleted methods to be public.
2017-12-11 11:10:10 -08:00
Andrew Pardoe
6ac3ac940f
Merge pull request #1100 from breyed/patch-1
T.concept: Remove comment unnecessary in good example
2017-12-11 11:08:46 -08:00
Gabriel Dos Reis
79dd574a65 Fix #1004 2017-12-11 10:59:13 -08:00
Andrew Pardoe
4bbcd758f2 updating date 2017-12-11 10:51:03 -08:00
Edward Brey
0931fab3d5
T.concept: Remove comment unnecessary in good example
The properly defined `Number` concept used as the template type is fully expressive.
2017-12-05 13:46:59 -06:00
Jonathan Wakely
bdc07cc4ef Fix link to Rt-concepts
Fixes #1099
2017-12-05 19:25:09 +00:00
Breno Rodrigues Guimaraes
771a75e183 Add note to make deleted methods public 2017-12-02 16:46:47 -08:00
Breno Rodrigues Guimaraes
eb0707d7ae Add public access modifier to examples 2017-12-02 16:27:43 -08:00
hsutter
e6ac978f3a Updated due to discussion about #1068 2017-11-27 11:56:15 -08:00
Andrew Pardoe
2b4438603c Updating date 2017-11-27 11:52:45 -08:00
Andrew Pardoe
0a6167e1fc
Merge pull request #1066 from brenoguim/hotfix/add-virtual-destructor
Add virtual destructor to base class "Device"
2017-11-27 11:18:23 -08:00
Andrew Pardoe
0364ecace7
Merge pull request #1073 from martinfinke/hotfix/avoid-magic-constant
Avoid magic constant in F.44
2017-11-27 11:16:05 -08:00
Andrew Pardoe
b553f02f84
Merge pull request #1075 from Eliyahu-Ravuna/patch-2
Link added for function objects and lambdas
2017-11-27 11:15:33 -08:00
Leonardo Perez Pulido
16e270dee9 Typo: add missing question mark 2017-11-27 10:43:15 -04:00
Leonardo Perez Pulido
7f909cc18e Typo: add missing comma 2017-11-26 10:03:48 -04:00
Leonardo Perez Pulido
27d1c01782 Typo: add missing semicolon 2017-11-24 19:48:48 -04:00
Florian Behrens
3d4e860bdd Fixed comment in example code of F.54 (#1082) 2017-11-17 10:20:09 -05:00
Oleg Artenii
df68bfdc5b fixed minor typo: it this -> this (on master) (#1079) 2017-11-14 11:47:43 +00:00
Thomas Schaub
90076b9795 Use correct header level (#1078) 2017-11-13 15:59:51 -05:00
Eliyahu Ravuna
eb5f6a5b90
Link added for function objects and lambdas 2017-11-09 19:56:41 +02:00
Mohit Jain
7be6e7daed Fix typo in destructor name (#1074)
Itream -> Istream in I.30: Encapsulate rule violations code snippet
2017-11-09 12:53:13 -05:00
Martin Finke
d13ac81e27 Avoid magic constant 2017-11-09 05:18:11 +01:00
Jonas Toth
8a408d8500 reorder ES.expr and ES.stmt in text 2017-10-31 16:22:07 +00:00
Breno Rodrigues Guimaraes
3a320fdf53 Add virtual destructor to base class 2017-10-28 15:53:33 -07:00
brenoguim
165c79b417 Break comment to respect 100 column limit (#1069) 2017-10-28 23:24:08 +01:00
hsutter
768e4620d4 Closes #1055 2017-10-25 13:59:16 -07:00
hsutter
ab67676e7d Closes #1048 2017-10-24 15:22:28 -07:00
Andrew Pardoe
5b82257e15 Changing date 2017-10-23 11:54:20 -07:00
Andrew Pardoe
0a85bd8382 Merge pull request #1059 from luav/example-cp.4
Example CP.4 (task vs thread)
2017-10-23 11:25:56 -07:00