diff options
| author | Leitwolf11 | 2026-10-31 13:01:04 +0300 |
|---|---|---|
| committer | Leitwolf11 | 2026-10-31 13:01:04 +0300 |
| commit | 1f5458322669301f62599c1ec5dacb77b5dc2d8d (patch) | |
| tree | 7e32402fa9c06014328a27d7972c2fb1a9484352 /README.md | |
| parent | 8d1fb4807edc7920fbecd0554c9c61625827e19c (diff) | |
| download | progmasoft-cpp-docs/cpp17-and-cpp20.tar.gz | |
Cover C++17 as well as C++20docs/cpp17-and-cpp20
A project now picks one version. C++20 stays the default, and C++17 is
for libraries meant for other people's projects, because it is still the
widest common target and works in every later standard.
Section 5.13 gives the C++17 form of each C++20 feature the guide uses
and the checks such a project needs: CI in the versions it promises, with
each compiler, and headers that compile in default compiler modes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -3,7 +3,7 @@ # Progmasoft C++ Style -Progmasoft C++ Style is a style guide for C++20. It says how code is named, laid out, structured and checked, and why, +Progmasoft C++ Style is a style guide for C++17 and C++20. It says how code is named, laid out, structured and checked, and why, so that a reader can move between files and projects without relearning the conventions each time. It is written for anyone who wants a complete, opinionated rule set to adopt. Progmasoft's own C++ projects follow it, @@ -27,7 +27,7 @@ left to the author. | [2. Formatting](Guide/FORMATTING.md) | the `.clang-format` profile, and what formatting leaves to the author | | [3. Naming](Guide/NAMING.md) | types, functions, variables, constants, namespaces, files, macros | | [4. Files and headers](Guide/FILES-AND-HEADERS.md) | extensions, `#pragma once`, includes, file size, the order inside a file | -| [5. Language](Guide/LANGUAGE.md) | C++20 features: `auto`, initialization, `const`, casts, integers, templates, lambdas | +| [5. Language](Guide/LANGUAGE.md) | Language versions and features: `auto`, initialization, `const`, casts, integers, templates, lambdas | | [6. Types and classes](Guide/TYPES-AND-CLASSES.md) | structs and classes, special members, inheritance, operators, enums | | [7. Errors](Guide/ERRORS.md) | exception-free code, `Expected` and `Error`, invariants, fatal defects | | [8. Ownership and memory](Guide/OWNERSHIP-AND-MEMORY.md) | RAII, smart pointers, views and their lifetimes, containers | @@ -42,7 +42,7 @@ records a deviation. [Contributing](CONTRIBUTING.md) explains how to propose a c ## The short version -- C++20, formatted by the [clang-format profile](Guide/FORMATTING.md#the-profile), checked by the +- C++17 or C++20, formatted by the [clang-format profile](Guide/FORMATTING.md#the-profile), checked by the [clang-tidy profile](Guide/TOOLING.md#132-the-clang-tidy-profile) with every warning an error. - `PascalCase` for types, functions and namespaces; `camelCase` for variables and parameters; `name_` for private data members; `kPascalCase` for constants and enumerators; `UPPER_SNAKE_CASE` for macros. |