Commit Graph

1059 Commits

Author SHA1 Message Date
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
Gabriel Dos Reis
c040dfab55 Merge pull request #822 from johelegp/gsl_fixes
GSL: Grammar, spacing and markdown fixes
2017-01-02 12:49:05 -08:00
Johel Ernesto Guerrero Peña
2b3e249cff I: Grammar, spacing and typo fixes 2016-12-31 20:58:30 -04:00
Johel Ernesto Guerrero Peña
5f95cb2734 I: Enforcement fixes/completion 2016-12-31 20:56:49 -04:00
Johel Ernesto Guerrero Peña
3bb9192d66 GSL: Grammar, spacing and markdown fixes 2016-12-30 18:20:04 -04:00
Johel Ernesto Guerrero Peña
bb4202ed92 GSL.concept: Dead link fix
Described in #407, 4a9e41d7 added the section but didn't fix the links.
2016-12-30 17:28:21 -04:00
Johel Ernesto Guerrero Peña
d30134b150 P: Grammar, correction and typo fixes 2016-12-30 00:21:51 -04:00
Sergey Zubkov
a968af59d0 C.138 initial content 2016-12-18 14:46:11 -05:00
Andrew Pardoe
9cfa3eafd7 Updating date 2016-12-12 11:39:59 -08:00
Andrew Pardoe
4f2a64b920 Per our discussion, C.42 enforcement belongs to C.41 2016-12-12 11:27:40 -08:00
hsutter
882d88ebe5 Closed #809. 2016-12-05 14:20:37 -08:00
Severin Meyer
bcd9904ae2 Fix remaining typos mentioned in issue #556
ES.23: Correct the Fibonacci series
ES.71: Fix bug in example code
T.61: Use the correct type for the class member
Appendix C: Use an example string that is not identical to a C++ keyword and clarify comment
2016-11-22 23:08:27 +01:00
Gabriel Dos Reis
7fb5621495 Merge pull request #799 from severinmeyer/NL-Typos-squashed
Fix typos in section NL: Naming and layout
2016-11-22 07:54:48 -08:00
Gabriel Dos Reis
32368d99c6 Merge pull request #800 from severinmeyer/CP-Typos-squashed
Fix typos in section CP: Concurrency
2016-11-22 07:53:52 -08:00
Gabriel Dos Reis
1b259959f6 Merge pull request #801 from severinmeyer/ES-Typos-squashed
Fix typos in section ES: Expressions and statements
2016-11-22 07:53:00 -08:00
Gabriel Dos Reis
783ab6c6ca Merge pull request #802 from severinmeyer/E-Typos-squashed
Fix typos in section E: Error handling
2016-11-22 07:52:01 -08:00
Severin Meyer
6fb7ad6bb5 Fix a few more typos
F.22: Fix typos
C.128: Update the title in the ToC, to match the new title from commit f0e29f0
Con.1: Fix typo
T.84: Fix typo
NR.2: Remove duplicated word from title (single single)
2016-11-22 16:10:31 +01:00
Severin Meyer
185f70781d Fix typos in section E: Error handling
E.25: Fix several typos
E.25: Add missing comma
E.2: Add missing verb
2016-11-22 15:53:13 +01:00
Severin Meyer
63f1948962 Fix typos in section NL: Naming and layout
NL.1: Add missing period to title in ToC
NL.5: Fix typo
NL.8: Fix several typos
NL.9: Add missing period in title
NL.9: Fix typo
NL.19: Fix typo
2016-11-22 13:56:52 +01:00
Severin Meyer
efdd83bf9a Fix typos in section ES: Expressions and statements
ES.dcl: Fix typo
ES.25: Use the singular form for the title, to correct it and to match it with the entry in the ToC
ES.30: Fix several typos
ES.40: Fix typo in code comments
ES.61: Capitalize first word of title
ES.63: Fix typo
ES.70: Fix typo and capitalization
ES.74: Fix typo in title
ES.102: Fix typo and add missing comma
2016-11-22 13:43:07 +01:00
Severin Meyer
c1ed09786d Fix typos in section CP: Concurrency
CP.8: Add missing colon to title
CP.30: In title, close inline code block with backtick
CP.101: Correct saying, Icarus flew to close to the sun, not the wind
2016-11-22 13:32:38 +01:00
Andrew Pardoe
9987d835b9 Updating date 2016-11-21 08:38:55 -08:00
Andrew Pardoe
7741b8689e Merge pull request #796 from severinmeyer/C-Typos
Fix typos in section C: Classes and class hierarchies
2016-11-21 08:33:22 -08:00
Severin Meyer
353f8ffc4c C.140: Fix typo in text 2016-11-17 14:56:45 +01:00
Severin Meyer
26953e0bf9 C.139: Fix typo in text 2016-11-17 14:55:54 +01:00
Severin Meyer
fc0999c56e C.129: Fix typo in text 2016-11-17 14:54:52 +01:00
Severin Meyer
434f995679 C.128: Fix typo in text 2016-11-17 14:53:58 +01:00
Severin Meyer
66c0348d19 C.80: Fix typo in text 2016-11-17 14:51:08 +01:00
Severin Meyer
7070ffa839 C.41: Add missing comma 2016-11-17 14:49:54 +01:00
Severin Meyer
efb284388f C.defop: Fix typo in introductory text 2016-11-17 14:48:43 +01:00
Severin Meyer
db8273d068 C.concrete: Fix typo in introductory text 2016-11-17 14:47:44 +01:00
Severin Meyer
0d02b7e8bf C.9: Capitalize first word of title 2016-11-17 14:45:50 +01:00
Severin Meyer
edb59eea86 C.8: Fix typo in text 2016-11-17 14:43:03 +01:00
Severin Meyer
b516c49efc C.8: Fix typo in title and capitalize first word 2016-11-17 14:41:18 +01:00
Severin Meyer
c6071b8add CP.41: Fix typo in code example 2016-11-17 13:28:15 +01:00
Gabriel Dos Reis
09d76d93fc Merge pull request #791 from severinmeyer/P.9-Typo
P.9: Fix typo in code example
2016-11-15 07:57:54 -08:00
Severin Meyer
c3ee965a28 P.9: Fix typo in code example 2016-11-15 16:00:56 +01:00
Stéphane Magnenat
17c7ba9b8b Fixed missing ` 2016-11-15 10:25:34 +01:00
Titus Winters
3768e82fc3 Fix spelling / expand dictionary. 2016-11-10 13:35:22 -05:00
Titus Winters
e8ecae3171 Added some example tooling discussion. 2016-11-03 12:09:26 -04:00
Mustafa Serdar Sanli
53bc78fd49 Fix broken anchor link 2016-10-31 20:00:14 +00:00
Jan Nils Ferner
d86a82f1eb Fix typo (#782) 2016-10-20 10:48:31 +01:00
Frank Zingsheim
84b1d80c61 T.84 Correction of Example: Change type of suc and pre to Link_base 2016-10-18 22:35:18 +02:00
Sergey Zubkov
bc41bd6e9f dropping NVI from proto-rules due to no consensus on #768 2016-10-17 17:41:56 -04:00
Jonathan Wakely
98f1e46602 C.146 Compare pb2->id() instead of pb2
Fixes #504
2016-10-17 19:15:04 +01:00
Doan Tran Cong Danh
db85ec865d ES.7 Fix typo, "i" -> "current_element_index" 2016-10-07 17:58:08 +07:00
Jonathan Wakely
aab97d9e48 C.32 Fix typo, "aide" -> "aid" 2016-10-05 13:00:48 +01:00
Eliyahu Ravuna
5f66e004d8 Exception of CP.100 refined to include the "sequentially consistent memory model" only
Atomic variables are safe with the sequentially consistent memory model (memory_order_seq_cst) only. Weakly ordered atomics cannot be considered safe for mainstream use. The exception clause of CP.100 refined to include the "sequentially consistent memory model" only.

cst added to dictionary

For std::memory_order_seq_cst, which is defined in <atomic>.
2016-10-04 20:36:09 +03:00
Gabriel Dos Reis
6767413118 Merge pull request #760 from derekxgl/patch-1
P.11 call vector reserve(100) instead of vector(100)
2016-10-04 07:25:52 -07:00
Malcolm Parsons
38772fc251 Correct spelling of nullptr 2016-10-04 15:12:56 +01:00
Derek Li
6c29e226d8 P.11 call vector reserve(100) instead of vector(100) 2016-10-04 12:55:52 +01:00