Commit Graph

1465 Commits

Author SHA1 Message Date
Amir Livneh
abad343557 Fix indentation in example (#1339) 2019-02-20 18:11:53 -05:00
Sergey Zubkov
358bef703e closes #1337 2019-02-19 15:37:53 -05:00
Matthew Dews
65aa7232e8 Fix typo (#1338) 2019-02-19 14:33:32 -05:00
Amir Livneh
f2b517eac2 Fix grammar (#1336) 2019-02-19 14:33:11 -05:00
Amir Livneh
ff8934c39b Fix grammar (#1335) 2019-02-19 14:32:39 -05:00
Amir Livneh
e0830c7c3b Remove redundant word (#1334) 2019-02-19 14:32:19 -05:00
Amir Livneh
94eadbb7eb Fix grammar (#1333) 2019-02-19 14:31:15 -05:00
Amir Livneh
4797c26d4b Fix grammar (#1331) 2019-02-19 14:30:47 -05:00
Amir Livneh
1fd6ce78c2 Fix typo and grammar (#1329) 2019-02-16 08:08:58 -05:00
Amir Livneh
c9f1066756 Fix grammar (#1327) 2019-02-15 09:45:50 -05:00
hsutter
684635eecd Closes #1322
Add an Enforcement rule for prefix inc/dec functions. Try to phrase it
to reduce noisiness.
2019-02-14 11:13:42 -08:00
Franz Hollerer
f7ef39f0d6 issue #1236 - there is no reason to use the Hungarian notation in C (#1326) 2019-02-14 14:02:35 -05:00
hsutter
fb1d4c9189 Closes #1319 2019-01-31 11:23:16 -08:00
mpherg
cbbe6071ce Standardize example and note headers (minor) (#1318)
* Standardize example headings

Some example headings used "Example, [good,bad]" and others used
"Example; [good,bad]" (note the comma verses semicolon). The vast
majority of the headings used the comma version, so this commit
normalizes all example headings to use a comma instead of a semicolon.

* Standardize note heading level

Two of the "Note" headings were set to level four, but the rest are at
level 5. Fix the level fours to make them level fives.
2019-01-31 14:13:57 -05:00
hsutter
b38d065e45 Cleaned up a code example comment 2019-01-17 09:38:14 -08:00
hsutter
373765b827 Closes #1317
Fixed section heading to match item
2019-01-16 16:07:40 -08:00
hsutter
4ed280b080 Closes #1315 2019-01-16 16:05:41 -08:00
Dave Smith
1805589141 Pro.bounds: Correct impact wording (minor) (#1316) 2019-01-16 19:01:16 -05:00
hsutter
fd9c725549 Update for #1306 2019-01-10 11:34:56 -08:00
hsutter
88a9ba0640 Closes #1311 2019-01-10 11:11:12 -08:00
beinhaerter
4e8ab7ae86 F.21 wording changed to current status of the standard (#1313) 2019-01-10 14:01:22 -05:00
Mark Abraham
e58bce6f6a Fix typo in ES.102 (#1312)
The value -2 is signed, so the word "unsigned" is clearly wrong.  The
text notes that negative subscripts are a source of surprises and
bugs, so the correction to "negative" seems to reflect Bjarne's
original intent.
2019-01-10 14:00:55 -05:00
Honggyu Kim
526f14f56a Prefer bullet points to a long sentence in SL section (#1310)
It'd be better to have bullet points than writing the points in a long
sentence even with description in parenthesis.
2019-01-10 14:00:12 -05:00
Max Bozzi
dd8fc629d7 Remove claims that "constexpr functions are pure" (#1307)
F.4 and F.8 made this erroneous claim as parts of notes which are
entirely removed.
2019-01-03 14:05:55 -05:00
hsutter
714bec5010 Updated date 2019-01-03 11:01:46 -08:00
Marzo Sette Torres Junior
f971ad2f17 Fixing tagged union example (#1301)
It did not compile previously due to missing type specifier on placement new.
2018-12-19 15:52:05 +00:00
Jonathan Wakely
d822f80d5d Fix whitespace errors in code, to make Travis CI pass 2018-12-19 15:51:17 +00:00
Andriy Berestovskyy
a7fc6f6d4e Fix a typo (#1300) 2018-12-18 14:19:06 -05:00
hsutter
0fe73c966d Fixed typo
Thanks @dalg24!
2018-12-16 11:47:32 -08:00
hsutter
d6d7d749c3 Minor rewording 2018-12-13 11:35:36 -08:00
hsutter
334c902a13 Adding suggestion in #1283 comment thread
Thanks, Mike!
2018-12-13 11:34:49 -08:00
Sergey Zubkov
41b10255c4 date update 2018-12-07 11:06:45 -05:00
Herb Sutter
6e3d2d2c22 Closes #1297 2018-12-06 15:07:23 -05:00
Herb Sutter
4fa9d4019f Minor edits to #1291 2018-12-06 14:36:40 -05:00
Chris Guzak
407fcc0eac update to I.4: Make interfaces precisely and strongly typed (#1291)
* updates to I.4: Make interfaces precisely and strongly typed

* Update enforcement list

* address PR feedback from blakehawkins
2018-12-06 14:33:38 -05:00
Kyle
0181ab40a7 Fix example in C.51 (#1294)
The example looks like it previously used i to represent date, but now the variable is called d. I updated the use and related parameters to match.
2018-11-29 12:02:41 -05:00
Sergey Zubkov
50b9cefe39 travis CI and typo fixes 2018-10-16 18:08:01 -04:00
Bjarne Stroustrup
dd67c99f1f made C.con a bit less incomplate
More will eventually come
2018-10-13 12:03:32 -04:00
Bjarne Stroustrup
1103509895 A philosophical rule/caution 2018-10-13 10:55:06 -04:00
Bjarne Stroustrup
0f61a4be4e typos 2018-10-12 15:29:21 -04:00
Bjarne Stroustrup
417d512fea clarifications for #1267
references to resource handles
2018-10-12 15:27:55 -04:00
Bjarne Stroustrup
11f58787b8 minor clarifications
for #1268 and #1267
2018-10-12 15:12:49 -04:00
Bjarne Stroustrup
2cfcd878c4 fiexed C.49
remover contradiction to C.45 (#1092) ) and mention string_view
2018-10-12 14:48:17 -04:00
Bjarne Stroustrup
8825798df6 clarify rules for {} initialization
in response to #1279
2018-10-12 13:53:24 -04:00
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