Bjarne Stroustrup
9620ea8d43
I.30: Encapsulate rule violations
...
Fiexed #893 by moving the bad example from ES.28 to a new rule: I.30:
Encapsulate rule violations.
I may inadvertenly have invented a new suppression syntax
2017-05-16 14:59:55 -04:00
Bjarne Stroustrup
17ccab5836
Fix C.139
2017-05-16 13:28:23 -04:00
hsutter
b10ffdf55f
Reversed order of Lifetime.1 and .2
2017-05-11 19:09:56 -07:00
hsutter
ff9bce8035
Add Lifetime.1-3 rules so tools can refer to them
2017-05-11 17:56:25 -07:00
Zachary Henkel
f1b348e0db
Additional guidance around casts:
...
- Warn on unnecessary casts
- Avoid casts on arithmetic types
- Add specializations of the rules for Pro-type-reinterpretcast
2017-05-09 16:17:45 -07:00
Sergey Zubkov
17715010a2
travis CI fixes and grammar fix from #920
2017-05-08 22:34:18 -04:00
Andrew Pardoe
b09b9ad8b9
Updating date & typos
2017-05-08 12:05:23 -07:00
Andrew Pardoe
bec67d690a
Merge pull request #914 from AndrewPardoe/issue911
...
Clarify I.11 with regards to recommending smart pointers/owner<T>.
2017-05-08 11:09:19 -07:00
Andrew Pardoe
52eca9a174
Merge pull request #917 from scraimer/master
...
C.148 adding Reason and Example
2017-05-08 11:08:12 -07:00
Andrew Pardoe
2e1d9c34d4
Merge pull request #920 from cubbimew/issue899
...
CP.111 more precise motivation and examples
2017-05-08 11:05:28 -07:00
Andrew Pardoe
d5ea1fcc4f
Merge pull request #922 from AndrewPardoe/issue-918
...
Fix anchors in C.147/148
2017-05-08 11:04:21 -07:00
Gabriel Dos Reis
52aa9ba997
Fix #903 .
2017-05-08 10:50:03 -07:00
Andrew Pardoe
e354279e0e
Fix anchors in C.147/148
2017-05-08 10:21:01 -07:00
Bjarne Stroustrup
ad6f863152
Added not about notation to Con.2
...
in response to #902
2017-05-07 15:59:55 -04:00
Sergey Zubkov
f41d36ff25
CP.111 more precise motivation and examples
2017-05-07 14:17:21 -04:00
Bledson Kivy
7c90bdba50
Intended heading level?
...
Following the heading levels throughout the doc, it seems these are typos.
2017-05-05 16:47:41 -03:00
Shalom Craimer
12f0954f66
Fixed the errors detected by Travis CI and @jwakely
2017-05-05 01:20:16 +03:00
Shalom Craimer
cdf2e7e5ea
Fixed the errors detected by Travis CI and @jwakely
2017-05-05 00:56:29 +03:00
Jonathan Wakely
bdb5d27a10
Remove spaces before ptr-declarators in examples
2017-05-04 09:48:19 +01:00
Shalom Craimer
1c53b29a3a
C.148 - Fixing Travis-reported errors discovered so far in the code example
2017-05-04 11:19:31 +03:00
Shalom Craimer
b6132db539
C.148 adding Reason and Example
2017-05-04 10:13:22 +03:00
Andrew Pardoe
343f40792a
Clarify I.11 with regards to recommending smart pointers/owner<T>.
2017-05-01 15:32:28 -07:00
Sergey Zubkov
f0239407ad
travis fixes
2017-05-01 15:51:44 -04:00
Andrew Pardoe
03c2b4699d
Updating date
2017-05-01 12:03:31 -07:00
Jonathan Wakely
32d6313607
Improve example for ES.45
...
Fixes #895
2017-05-01 19:57:39 +01:00
Andrew Pardoe
a96fed9c99
Merge pull request #896 from tlanc007/master
...
ES.45/ES.46 renamed and reordered to match anchors found later in file
2017-05-01 11:10:57 -07:00
Gabriel Dos Reis
0ff5518dca
Merge pull request #905 from ewoudvc/es24_toc_rule_correction
...
ES.24: have TOC rule match body rule
2017-05-01 11:07:32 -07:00
Andrew Pardoe
b41bea68c1
Merge pull request #909 from tvaneerd/patch-2
...
Note -> Not, are -> is
2017-05-01 11:07:16 -07:00
Gabriel Dos Reis
f9f3422ac5
Fix C.183.
2017-05-01 11:05:32 -07:00
Gabriel Dos Reis
918a5695c7
Address C.128: say 'avoid'.
2017-05-01 10:45:36 -07:00
Tony Van Eerd
481996c849
Note -> Not, are -> is
2017-04-30 22:32:46 -04:00
Bjarne Stroustrup
e0de4df83b
added clarifying note for C.139
2017-04-30 13:33:35 -04:00
Bjarne Stroustrup
b3584cfa5f
added reference to C.137
2017-04-30 12:18:42 -04:00
Bjarne Stroustrup
a6a087dfc5
regular added to glossary
2017-04-30 12:06:28 -04:00
Bjarne Stroustrup
64622d5cca
testing
...
and fixing one "thinko"
2017-04-30 10:57:58 -04:00
ewoudvc
caa86ae38b
GSL.assert: replace is by are ( #908 )
2017-04-28 16:34:25 +01:00
Jonathan Wakely
e3fe0c5b5e
Fix indentation of NR.1 example
2017-04-28 13:31:20 +01:00
Ewoud Van Craeynest
10805fb7a1
ES.24: have TOC rule match body rule
2017-04-27 21:44:51 +02:00
Sergey Zubkov
94a7a3fd46
travis CI fixes, one more time
2017-04-26 22:08:13 -04:00
Bjarne Stroustrup
046d62c51e
minor improvements to SL.io
2017-04-25 15:07:41 -04:00
Sergey Zubkov
c99a366bba
travis CI fixes
2017-04-24 22:49:02 -04:00
Bjarne Stroustrup
4f9a6c89be
banning exception specifications
...
a bit more abut exceptions; the beginnings of I/O
2017-04-24 17:41:18 -04:00
Bjarne Stroustrup
1e38eb8ae7
ban longjmp
2017-04-22 18:10:58 -04:00
Bjarne Stroustrup
5397c9c5fe
very minor typo
...
testing
2017-04-21 15:18:21 -04:00
Bjarne Stroustrup
1b7d217cd1
nothing
2017-04-20 20:46:17 -04:00
Tal Lancaster
5306795214
ES.45/ES.46: renamed and reordered to match jump tags
...
The anchors later in the file were using 46 for narrowing and 45 for
magic. Renamed and reordered the tags in the TOC to match.
2017-04-20 11:35:25 -06:00
Sergey Zubkov
2a098a2b39
travis CI fixes
2017-04-20 10:54:50 -04:00
Bjarne Stroustrup
df8a441dcf
fix bug in C.9 example
...
a real-world example would be an improvement
2017-04-20 08:28:30 -04:00
Bjarne Stroustrup
d1ff56d07e
date
2017-04-19 20:53:12 -04:00
Bjarne Stroustrup
cfa2fec1f2
C.137
2017-04-18 21:27:30 -04:00
Bjarne Stroustrup
6987bfd2f0
C.9 and C.133
2017-04-18 20:35:46 -04:00
Bjarne Stroustrup
05118054f6
NL.11 literals
2017-04-18 18:11:30 -04:00
Bjarne Stroustrup
e30bb60320
more xrefs
2017-04-18 17:51:49 -04:00
Louis Brandy
540c393501
Merge pull request #892 from lbrandy/master
...
Example of an inheritance hierarchy for C.120.
2017-04-18 12:05:29 -07:00
Sergey Zubkov
04537cdb11
travis CI fixes
2017-04-17 23:37:21 -04:00
Sergey Zubkov
74ab713700
travis CI and some typo fixes
...
had to drop runtime/printf from the checks because it bans strcpy
2017-04-17 23:07:21 -04:00
Bjarne Stroustrup
54f57d8d1b
more language feature xrefs
...
These xrefs are menat part as teasers to get language-feature obsessed
programmers to look at the guidelines and partly to cover topics that
appears in several places. They are not meant to be complete
2017-04-17 21:01:51 -04:00
Bjarne Stroustrup
6fa4cb32cd
more language feature xrefs
2017-04-17 17:05:07 -04:00
Bjarne Stroustrup
e144bd4f9b
minor
2017-04-17 16:00:18 -04:00
Louis Brandy
29fdd0d30c
Attempt to add an example (that is as non-controversial as possible) of an inheritance hierarchy to C.120
2017-04-17 12:23:22 -07:00
Andrew Pardoe
f1d3846300
updating date
2017-04-17 12:00:18 -07:00
hsutter
0ff543fe19
Addresses #568
2017-04-17 11:51:20 -07:00
hsutter
323912e609
A pass at improving F.52. Closes #884
2017-04-17 11:42:08 -07:00
Bjarne Stroustrup
6d01cfd99b
more language term examples
2017-04-17 12:37:42 -04:00
Bjarne Stroustrup
c46bebc58f
idea for language feature xref
2017-04-17 12:24:28 -04:00
Bjarne Stroustrup
1b5f6d0c97
change "concepts lite" to "concepts"
2017-04-17 11:12:41 -04:00
Bjarne Stroustrup
098dd3ee90
add example to NR.1
2017-04-16 21:50:52 -04:00
Bjarne Stroustrup
13ee61a3cb
start of impact statements for profiles
2017-04-16 15:55:13 -04:00
Bjarne Stroustrup
fc5222ca26
Added a first cut of string guidelines
2017-04-16 14:50:07 -04:00
Bjarne Stroustrup
6bcfaa4fbe
Clarify that finally() is a last resort
...
E.6 and E.19
2017-04-15 21:32:57 -04:00
Andrew Pardoe
a8572ad328
Update link to iso.org per #888
2017-04-15 09:23:47 -07:00
Sergey Zubkov
d71d95a4b6
travis CI fixes
2017-04-12 22:56:23 -04:00
Bjarne Stroustrup
0b58d04fde
ES.84
2017-04-10 15:57:38 -04:00
Bjarne Stroustrup
6a3d61fd8d
a few more fix-ups in ES.*
2017-04-09 15:15:48 -04:00
Bjarne Stroustrup
26d56a2f54
More changes to ES.*
...
break and continue
goto
fallthrough
when to use "default"
order of evaluation (C++17)
2017-04-09 12:16:58 -04:00
Bjarne Stroustrup
1f948653bb
Cleanup of ES.7*
...
also ES.10: structured binding
and ES.28: eliminating an owning reference
2017-04-09 10:52:48 -04:00
Andrew Pardoe
960f6dad1c
updating date
2017-04-04 16:38:57 -07:00
Andrew Pardoe
0aa9994e54
whitespace for formatting
2017-04-03 12:15:05 -07:00
Andrew Pardoe
5b1043104c
Resolving issue #662
2017-04-03 12:07:43 -07:00
Bjarne Stroustrup
fbeff91d05
typos
2017-04-02 20:42:58 -04:00
Bjarne Stroustrup
cbb3de625e
add example to F.21
2017-04-02 20:42:58 -04:00
Neil MacIntosh
b0cd06aa2e
Updated note in C.131 to add clarity.
2017-04-02 12:50:48 -07:00
Bjarne Stroustrup
45e11be0ad
added example to C.136
2017-04-02 14:36:21 -04:00
Bjarne Stroustrup
13d6eff946
improving SF.6
...
In respose to #725
2017-04-02 14:13:37 -04:00
Bjarne Stroustrup
5080166d3c
fix ES.10
2017-04-02 13:36:09 -04:00
Sergey Zubkov
83566ba7d1
travis fixes
2017-03-31 21:01:48 -04:00
Jonathan Wakely
65aa60fe10
Clarify that synchronized_value is not standardised yet
2017-03-27 20:06:29 +01:00
Jonathan Wakely
85543a94e9
Replace invalid uses of defer_lock in C.21 with adopt_lock
2017-03-27 20:06:29 +01:00
Anthony Williams
1b51c917d0
Expanded CP.50 to reference synchronized_value<T>
2017-03-27 20:06:29 +01:00
Anthony Williams
f15d001ba0
Added note about detached threads racing with global destructors
2017-03-27 20:06:29 +01:00
Anthony Williams
ce93de647a
Added reference to variadic scoped_lock to CP.21
2017-03-27 20:06:29 +01:00
Andrew Pardoe
795efa71f7
missed one space
2017-03-27 12:05:48 -07:00
Andrew Pardoe
f9f35c78bc
adding space after includes per #769
2017-03-27 12:02:06 -07:00
Andrew Pardoe
49abfa6509
Merge pull request #780 from zingsheim/T.84.Link_base
...
T.84 Correction of Example: Change type of suc and pre to Link_base
2017-03-26 10:13:20 -07:00
Neil MacIntosh
907de2aa4c
Corrected mistake in enforcement for R.3.
2017-03-21 14:19:31 -07:00
Neil MacIntosh
deb47c0c47
Corrected obsolete syntax in span examples.
2017-03-20 19:54:30 -07:00
Andrew Pardoe
8caa0fe007
updating date
2017-03-20 12:02:59 -07:00
Andrew Pardoe
de099e2b57
adding punctuation
2017-03-20 11:50:15 -07:00
Andrew Pardoe
cc284d260f
Merge remote-tracking branch 'refs/remotes/origin/master'
2017-03-20 11:47:49 -07:00
Andrew Pardoe
e19aed0ef3
Update glossary per issue 820
2017-03-20 11:47:26 -07:00
Neil MacIntosh
33098ab31e
Updated guidance on noexcept on destructors ( #814 )
2017-03-20 11:44:13 -07:00
hsutter
38a6acc1c0
Closes #827
...
Stated the main two reasons why functions with lots of parameters exist:
Because they're missing an abstraction, or because the function is
trying to do more than one job.
Added explicit coverage of those reasons and another example
illustrating that.
2017-03-20 11:35:33 -07:00
Andrew Pardoe
b8b178e98a
Merge pull request #867 from tkruse/fix-warnings
...
Fix travis warnings, includes other PRS
2017-03-20 11:10:01 -07:00
Neil MacIntosh
c6f8afc931
Updated example of enforcement suppression.
2017-03-20 08:34:02 -07:00
Jacob Langley
2c8b34653d
Add a line to help remark identify code block inside bullet list
2017-03-20 11:19:35 +09:00
Jacob Langley
a2dba2e78b
Fix cpplint issues
...
Rconc-create0.cpp:20: Line ends in whitespace. Consider deleting these extra spaces. [whitespace/end_of_line] [4]
Res-always5.cpp:15: Missing space after , [whitespace/comma] [3]
Rp-lib0.cpp:15: Missing space after , [whitespace/comma] [3]
Rs-using-directive0.cpp:25: Extra space after ( in function call [whitespace/parens] [4]
Rs-using-directive0.cpp:25: Extra space before ) [whitespace/parens] [2]
2017-03-20 11:19:35 +09:00
Jacob Langley
48b40df328
Fix markdown lint errors
...
11979:3 warning Incorrect indentation before bullet: remove 1 space list-item-bullet-indent
19412:1-19462:23 warning Missing blank line before block node no-missing-blank-lines
2017-03-20 11:19:34 +09:00
Jacob Langley
04fd2a5807
Fix spellcheck errors
...
Line 1037: analyser -> analyses
Line 2399: yu -> yew
Line 3745: funtions -> functions
Line 3748: multimethods -> multi methods
Line 6652: mixins -> mixing
Line 11991: unittests -> unittest
2017-03-20 11:19:34 +09:00
Kevin Kennedy
b9a1ed62e9
Change Unicode EN SPACE (U+2002) characters to SPACE (U+0020) so that Pandoc-generated LaTeX can compile without Error
2017-03-19 10:07:40 -04:00
Andrew Pardoe
5408dd3e75
updating date
2017-03-17 15:48:41 -07:00
hsutter
ba3c4b5692
Updated example for Con.1
...
The original example was good, but it used a reference where the point
of Con.1 is about declaring objects themselves const
2017-03-17 15:39:49 -07:00
hsutter
dfb2a5b1fe
Minor consistency cleanup
...
- Fixed an inconsistent title (section ToC and actual guideline title
differed)
- Can't reseat a reference, so changed it to pointer
- Removed what I think is a stray/outdated rule against passing
move-only types (unique_ptr) by &&
- Reordered a three-line example for logical flow
2017-03-16 08:54:26 -07:00
hsutter
55780020c1
Added lifetime profile placeholder
2017-03-15 11:14:29 -07:00
hsutter
398d3a7400
Added Bounds.* section index
2017-03-15 11:05:22 -07:00
hsutter
e436db0a0e
Type.5.1 actually belongs after Type.4
...
So making it Type.4.1 for now
2017-03-15 10:59:19 -07:00
hsutter
901b301b1f
Updated refresh date
2017-03-15 10:47:31 -07:00
hsutter
42da80ef76
Fixed numbering in Type section
...
There were two Type.7's. Renumbered one of them to .5.1 for now, and
fixed the section table of contents.
2017-03-15 10:42:56 -07:00
hsutter
0af5e31eb2
Closes #836
2017-03-13 12:05:51 -07:00
hsutter
33adf1eede
Elaborated on #835 .
...
Incorporating @cubbimew's comments. Thanks!
2017-03-13 11:48:22 -07:00
hsutter
3b3148d99c
Closes #835
...
We do not encourage `owner<T&>`.
2017-03-13 11:44:40 -07:00
hsutter
0bb2de37a0
Closed 856 and 857
...
Added C++17-specific text in ES.6 for `if` and `switch` initializers.
Note that the Guidelines assume C++14, so the "Enforcement" clauses for
C++17-specific rules will be separate until we assume people have broad
access to C++17 features in their compilers. Once that happens we can
roll the C++17-specific parts into the main text.
2017-03-13 11:32:41 -07:00
Jonathan Wakely
c7c5614a42
Fix spelling typos
2017-02-13 20:20:05 +00:00
Jonathan Wakely
464870c7d3
Fix some markdown warnings seen in the Travis CI checks
2017-02-13 20:14:47 +00:00
Andrew Pardoe
52ad087bb3
Merge pull request #845 from jacobl-at-ms/jacobl.macbuild
...
Enable building directly on a mac
2017-02-13 11:45:27 -08:00
Herb Sutter
3f2e675f7d
Merge pull request #763 from Eliyahu-Ravuna/patch-1
...
Exception of CP.100 refined to include the "sequentially consistent memory model" only
2017-02-13 14:38:07 -05:00
Gabriel Dos Reis
2b6d208d58
Merge pull request #777 from cubbimew/nvi
...
dropping NVI from proto-rules due to no consensus on #768
2017-02-13 11:35:46 -08:00
Bjarne Stroustrup
bd5f0c34db
Merge branch 'master' into bs-local-1
2017-02-11 13:02:30 -05:00
Bjarne Stroustrup
c5cecf1e88
new rule F.9; unused parameters
...
Issue #808
2017-02-11 12:25:05 -05:00
Bjarne Stroustrup
631bbbbaf8
typos MI and membership
2017-02-09 17:32:01 -05:00
Jacob Langley
eb4be01970
Fix spelling errors
2017-02-08 10:04:05 -08:00
Bjarne Stroustrup
87bb531080
tools and library rules
...
in philosophy
2017-02-07 18:05:54 -05:00
Andrew Pardoe
47e5764e6e
Update date
2017-02-06 11:55:23 -08:00
Andrew Pardoe
9ddb9e1648
Merge parts of PR #787
2017-02-06 11:51:03 -08:00
Andrew Pardoe
20403c8d6d
Merge branch 'thread-tooling' of https://github.com/tituswinters/CppCoreGuidelines into tituswinters-thread-tooling
2017-02-06 11:36:22 -08:00
Andrew Pardoe
11e5e00f23
Merge pull request #818 from cubbimew/c138
...
C.138 initial content
2017-02-06 11:23:59 -08:00
Bjarne Stroustrup
f2dfcfc438
minor cleanup
2017-02-01 17:05:22 -05:00
Jonathan Wakely
14f67ae8dd
Fix typos from commit 9858685786
2017-01-31 12:13:10 +00:00
hsutter
8f2ecf0665
Closed #557
...
Added example from the issue
2017-01-30 11:52:11 -08:00
hsutter
51b4cddbca
Closed #810
...
Added an example to SF.7
Clarified SF.6 and SF.7 that "using-directive" means "using namespace"
2017-01-30 11:40:47 -08:00
Andrew Pardoe
9858685786
Clarifying title per issue 793
2017-01-30 11:36:57 -08:00
teassy000
8a9bb3bc61
fix c.127 example issue. ( #789 )
...
auto will deduce as unique_ptr<D> and the correct destructor will call. Anyway, this should be a bad example.
2017-01-30 19:32:41 +00:00
Sergey Zubkov
4d86abfdb4
When the title of ES.56 was changed, its entry in the ES ToC wasn't ( #831 )
2017-01-30 19:27:13 +00:00
Sergey Zubkov
0b4b815d0b
uncross links to the self-assignment rules ( #830 )
2017-01-30 19:26:56 +00:00
Andrew Pardoe
51191c13d2
Merge pull request #825 from johelegp/interfaces_non_trivial_fixes
...
I: Enforcement fixes/completion
2017-01-30 11:19:55 -08:00
Gabriel Dos Reis
dd7275623d
Merge pull request #834 from cubbimew/c131-constify
...
C.131: getters should be const member functions
2017-01-30 06:59:27 -08:00
Sergey Zubkov
bee5e87e90
C.131: getters should be const member functions
2017-01-30 06:47:00 -05:00
Sergey Zubkov
808d304687
C.127 should not claim that there is a defined behavior
2017-01-30 06:24:16 -05:00
mancoast
63582c929e
Rework of English Language style
2017-01-18 07:45:47 -05:00
Gabriel Dos Reis
655bbcafa8
Merge pull request #824 from johelegp/interfaces_fixes
...
I: Grammar, spacing and typo fixes
2017-01-02 12:51:18 -08:00
Gabriel Dos Reis
94fdad103d
Merge pull request #823 from johelegp/gsl_concept_dead_link_fix
...
GSL.concept: Dead link fix
2017-01-02 12:50:02 -08:00