Skip to content

Commit e5d6f76

Browse files
committed
Public version 0.4.0
1 parent 0965fd7 commit e5d6f76

File tree

178 files changed

+4383
-2584
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+4383
-2584
lines changed

.clang-tidy

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,57 @@
1-
Checks: '-*,abseil-*,android-*,boost-*,bugprone-*,cert-*,clang-*,cppcoreguidelines-avoid-*,cppcoreguidelines-c-copy-assignment-signature,cppcoreguidelines-interfaces-global-init,cppcoreguidelines-macro-usage,cppcoreguidelines-narrowing-conversions,cppcoreguidelines-no-malloc,cppcoreguidelines-non-private-member-variables-in-classes,cppcoreguidelines-pro-bounds-constant-array-index,cppcoreguidelines-pro-bounds-pointer-arithmetic,cppcoreguidelines-pro-type-*,cppcoreguidelines-slicing,cppcoreguidelines-special-member-functions,darwin-*,fuchsia-header-anon-namespaces,fuchsia-multiple-inheritance,fuchsia-restrict-system-includes,fuchsia-statically-constructed-objects,fuchsia-trailing-return,fuchsia-virtual-inheritance,google-build-explicit-make-pair,google-build-namespaces,google-default-arguments,google-explicit-constructor,google-global-names-in-headers,google-objc-*,google-readability-braces-around-statements,google-readability-casting,google-readability-function-size,google-readability-todo,google-runtime-*,hicpp-avoid-*,hicpp-braces-around-statements,hicpp-deprecated-headers,hicpp-exception-baseclass,hicpp-explicit-conversions,hicpp-function-size,hicpp-invalid-access-moved,hicpp-member-init,hicpp-move-const-arg,hicpp-multiway-paths-covered,hicpp-named-parameter,hicpp-new-delete-operators,hicpp-no-assembler,hicpp-no-malloc,hicpp-noexcept-move,hicpp-signed-bitwise,hicpp-special-member-functions,hicpp-static-assert,hicpp-undelegated-constructor,hicpp-uppercase-literal-suffix,hicpp-use-*,hicpp-vararg,linuxkernel-*,llvm-header-guard,llvm-twine-local,misc-*,modernize-avoid-*,modernize-concat-nested-namespaces,modernize-deprecated-*,modernize-loop-convert,modernize-make-*,modernize-pass-by-value,modernize-raw-string-literal,modernize-redundant-void-arg,modernize-replace-*,modernize-return-braced-init-list,modernize-shrink-to-fit,modernize-unary-static-assert,modernize-use-auto,modernize-use-bool-literals,modernize-use-default-member-init,modernize-use-emplace,modernize-use-equals-*,modernize-use-nodiscard,modernize-use-noexcept,modernize-use-nullptr,modernize-use-override,modernize-use-transparent-functors,modernize-use-uncaught-exceptions,modernize-use-using,mpi-*,objc-*,openmp-*,performance-*,portability-*,readability-avoid-const-params-in-decls,readability-braces-around-statements,readability-const-return-type,readability-container-size-empty,readability-delete-null-pointer,readability-deleted-default,readability-else-after-return,readability-function-size,readability-identifier-naming,readability-implicit-bool-conversion,readability-inconsistent-declaration-parameter-name,readability-isolate-declaration,readability-magic-numbers,readability-misleading-indentation,readability-misplaced-array-index,readability-named-parameter,readability-non-const-parameter,readability-qualified-auto,readability-redundant-*,readability-simplify-*,readability-static-*,readability-string-compare,readability-uniqueptr-delete-release,readability-uppercase-literal-suffix,zircon-*'
1+
---
2+
Checks: "-*\,
3+
abseil-*,\android-*,\
4+
boost-*,\
5+
bugprone-*,
6+
cert-*,\
7+
clang-*,\
8+
cppcoreguidelines-avoid-*,cppcoreguidelines-c-copy-assignment-signature,cppcoreguidelines-interfaces-global-init,\
9+
cppcoreguidelines-macro-usage,cppcoreguidelines-narrowing-conversions,cppcoreguidelines-no-malloc,\
10+
cppcoreguidelines-non-private-member-variables-in-classes,cppcoreguidelines-pro-bounds-constant-array-index,\
11+
cppcoreguidelines-pro-bounds-pointer-arithmetic,cppcoreguidelines-pro-type-*,\
12+
cppcoreguidelines-slicing,cppcoreguidelines-special-member-functions,\
13+
darwin-*,\
14+
fuchsia-header-anon-namespaces,fuchsia-multiple-inheritance,fuchsia-restrict-system-includes,\
15+
fuchsia-statically-constructed-objects,fuchsia-trailing-return,\
16+
fuchsia-virtual-inheritance,\
17+
google-build-explicit-make-pair,google-build-namespaces,google-default-arguments,\
18+
google-explicit-constructor,google-global-names-in-headers,google-objc-*,\
19+
google-readability-braces-around-statements,google-readability-casting,\
20+
google-readability-function-size,google-readability-todo,google-runtime-*,\
21+
hicpp-avoid-*,hicpp-braces-around-statements,hicpp-deprecated-headers,\
22+
hicpp-exception-baseclass,hicpp-explicit-conversions,hicpp-function-size,\
23+
hicpp-invalid-access-moved,hicpp-member-init,hicpp-move-const-arg,\
24+
hicpp-multiway-paths-covered,hicpp-named-parameter,hicpp-new-delete-operators,\
25+
hicpp-no-assembler,hicpp-no-malloc,hicpp-noexcept-move,hicpp-signed-bitwise,\
26+
hicpp-special-member-functions,hicpp-static-assert,\
27+
hicpp-undelegated-constructor,hicpp-uppercase-literal-suffix,hicpp-use-*,hicpp-vararg,\
28+
linuxkernel-*,\
29+
llvm-header-guard,llvm-twine-local,\
30+
misc-*,\
31+
modernize-avoid-*,modernize-concat-nested-namespaces,modernize-deprecated-*,\
32+
modernize-loop-convert,modernize-make-*,modernize-pass-by-value,modernize-raw-string-literal,\
33+
modernize-redundant-void-arg,modernize-replace-*,\
34+
modernize-return-braced-init-list,modernize-shrink-to-fit,\
35+
modernize-unary-static-assert,modernize-use-auto,modernize-use-bool-literals,\
36+
modernize-use-default-member-init,modernize-use-emplace,modernize-use-equals-*,\
37+
modernize-use-nodiscard,modernize-use-noexcept,modernize-use-nullptr,modernize-use-override,\
38+
modernize-use-transparent-functors,modernize-use-uncaught-exceptions,modernize-use-using,\
39+
mpi-*,\
40+
objc-*,\
41+
openmp-*,\
42+
performance-*,\
43+
portability-*,\
44+
readability-avoid-const-params-in-decls,readability-braces-around-statements,\
45+
readability-const-return-type,readability-container-size-empty,readability-delete-null-pointer,\
46+
readability-deleted-default,readability-else-after-return,readability-function-size,\
47+
readability-identifier-naming,readability-implicit-bool-conversion,\
48+
readability-inconsistent-declaration-parameter-name,readability-isolate-declaration,\
49+
readability-magic-numbers,readability-misleading-indentation,readability-misplaced-array-index,\
50+
readability-named-parameter,readability-non-const-parameter,readability-qualified-auto,\
51+
readability-redundant-*,readability-simplify-*,readability-static-*,readability-string-compare,\
52+
readability-uniqueptr-delete-release,readability-uppercase-literal-suffix,\
53+
zircon-*"
254
FormatStyle: 'file'
55+
HeaderFilterRegex: 'boost/test'
56+
AnalyzeTemporaryDtors: false
57+
---

.gitlab-ci.yml

Lines changed: 45 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
1+
stages:
2+
- build_major_compilers
3+
- build_minor_compiler_gcc8
4+
- build_minor_compiler_gcc7
5+
- build_major_compiler_clang
6+
- check_typos
7+
- run_cppcheck
8+
- build_minor_compiler_arm
9+
110
build_gcc10:
2-
stage: build
11+
tags:
12+
- vm_linux
13+
stage: build_major_compilers
314
image: ubuntu
415
script:
516
- apt-get update
@@ -12,12 +23,14 @@ build_gcc10:
1223
- apt-get install libboost-test-dev -y
1324
- cd build
1425
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCPPINCLUDE_BUILD_WITH_TESTS=ON
15-
- cmake --build . --config Release
26+
- cmake --build . --config Release -j4
1627
# Run tests
1728
- ctest . -C Release
1829

1930
build_gcc8:
20-
stage: build
31+
tags:
32+
- vm_linux
33+
stage: build_minor_compiler_gcc8
2134
image: ubuntu
2235
script:
2336
- apt-get update
@@ -26,12 +39,15 @@ build_gcc8:
2639
- export CXX=g++-8
2740
- cd build
2841
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCPPINCLUDE_BUILD_WITH_TESTS=ON
29-
- cmake --build . --config Release
42+
- cmake --build . --config Release -j4
3043
# Run tests
3144
- ctest . -C Release
45+
needs: [build_gcc10]
3246

3347
build_gcc7:
34-
stage: build
48+
tags:
49+
- vm_linux
50+
stage: build_minor_compiler_gcc7
3551
image: ubuntu
3652
script:
3753
- apt-get update
@@ -40,12 +56,15 @@ build_gcc7:
4056
- export CXX=g++-7
4157
- cd build
4258
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCPPINCLUDE_BUILD_WITH_TESTS=ON
43-
- cmake --build . --config Release
59+
- cmake --build . --config Release -j4
4460
# Run tests
4561
- ctest . -C Release
62+
needs: [build_gcc8]
4663

4764
build_clang:
48-
stage: build
65+
tags:
66+
- vm_linux
67+
stage: build_major_compiler_clang
4968
image: ubuntu
5069
script:
5170
- apt-get update
@@ -54,12 +73,13 @@ build_clang:
5473
- export CXX=/usr/bin/clang++
5574
- cd build
5675
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCPPINCLUDE_BUILD_WITH_TESTS=ON
57-
- cmake --build . --config Release
76+
- cmake --build . --config Release -j4
5877
# Run tests
5978
- ctest . -C Release
79+
needs: [build_gcc7]
6080

6181
build_windows:
62-
stage: build
82+
stage: build_major_compilers
6383
tags:
6484
- vm_win
6585
script:
@@ -75,12 +95,12 @@ build_windows:
7595
#- vcpkg install boost-test:x64-windows
7696
#- vcpkg install boost-system:x64-windows
7797
- cmake .. -G "Visual Studio 16" -DCMAKE_BUILD_TYPE=Release -DCPPINCLUDE_BUILD_WITH_TESTS=ON -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake
78-
- cmake --build . --config Release
98+
- cmake --build . --config Release -j4
7999
# Run tests
80100
- ctest . -C Release
81101

82102
build_vs2017:
83-
stage: build
103+
stage: build_major_compilers
84104
tags:
85105
- vm_win
86106
script:
@@ -90,10 +110,10 @@ build_vs2017:
90110
- $env:PATH="C:\Program Files\CMake\bin;$env:PATH"
91111
- cd build
92112
- cmake -G "Visual Studio 15" .. -DCMAKE_BUILD_TYPE=Release
93-
- cmake --build . --config Release
113+
- cmake --build . --config Release -j4
94114

95115
build_macos:
96-
stage: build
116+
stage: build_major_compilers
97117
tags:
98118
- macmini
99119
script:
@@ -103,12 +123,12 @@ build_macos:
103123
# brew install boost
104124
- cd build
105125
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCPPINCLUDE_BUILD_WITH_TESTS=ON
106-
- cmake --build . --config Release
126+
- cmake --build . --config Release -j4
107127
# Run tests
108128
- ctest . -C Release
109129

110130
build_arm_linux:
111-
stage: build
131+
stage: build_minor_compiler_arm
112132
tags:
113133
- arm-linux
114134
script:
@@ -117,9 +137,12 @@ build_arm_linux:
117137
- cmake --build . --config Release -j4
118138
# Run tests
119139
- ctest . -C Release
140+
needs: [build_gcc10]
120141

121142
check_typos:
122-
stage: build
143+
tags:
144+
- vm_linux
145+
stage: check_typos
123146
image: ubuntu
124147
script:
125148
- apt-get update
@@ -130,14 +153,19 @@ check_typos:
130153
- apt-get install npm -y
131154
- npm install -g cspell
132155
- cspell "src/**/*"
156+
needs: [build_clang]
133157

134158
cppcheck:
135-
stage: build
159+
tags:
160+
- vm_linux
161+
stage: run_cppcheck
136162
image: ubuntu
137163
script:
138164
- apt-get update
139165
- apt-get install cmake gcc g++ libboost-test-dev cppcheck -y
140166
- cd build
141167
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCPPINCLUDE_BUILD_WITH_TESTS=ON
142168
- cppcheck --project=compile_commands.json --enable=all --suppressions-list=../.cppcheck-suppressions-list --error-exitcode=1 --quiet
169+
needs: [check_typos]
170+
143171

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## [v0.4.0](docs/versions/VERSION_0.4.0.md)
4+
5+
### Added (v0.4.0)
6+
7+
* New argument *show_only_std_headers*
8+
39
## [v0.3.1](docs/versions/VERSION_0.3.1.md)
410

511
### Fixed (v0.3.1)

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ project(cppinclude)
44

55
include_directories(src/)
66
include_directories(src/3rd-part/fmt/include/)
7-
include_directories(src/3rd-part/cpp-std-fwd/)
8-
include_directories(src/3rd-part/std_fs/include)
7+
include_directories(src/3rd-part/stdfwd/include/)
8+
include_directories(src/3rd-part/std_fs/include/)
99

1010
set(CMAKE_CXX_STANDARD 17)
1111
set(CMAKE_CXX_STANDARD_REQUIRED ON)

README.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ include that file will be recompiled and sometime it takes a lot of time.
2525
* [ignore_files](#ignore_files)
2626
* [report_limit](#report_limit)
2727
* [report_details_limit](#report_details_limit)
28+
* [show_std_files](#show_std_files)
29+
* [show_only_std_headers](#show_only_std_headers)
2830
* [Build](#build)
2931
* [Presentations](#presentations)
3032
* [Tips for optimization includes](#tips-for-optimization-includes)
@@ -116,6 +118,7 @@ Name|Short description
116118
--[report_limit](#report_limit)=42|Maximum elements in report, 0 - unlimited (default: 10)
117119
--[report_details_limit](#report_details_limit)=42|Maximum details in report, 0 - unlimited (default: 10)
118120
--[show_std_files](#show_std_files)|Show standard library headers in output (default: false)
121+
--[show_only_std_headers](#show_only_std_headers)|Show only standard library headers in output (default: false)
119122
--help|Show usage
120123
--verbose|Verbose mode
121124
--version|Show application version
@@ -506,6 +509,22 @@ Also you can set in configuration file:
506509

507510
[Back to top](#cppinclude)
508511

512+
### show_only_std_headers
513+
514+
Show only standard library headers in output.
515+
516+
`cppinclude --show_only_std_headers=true`
517+
518+
Also you can set in configuration file:
519+
520+
```json
521+
{
522+
"show_only_std_headers" : true
523+
}
524+
```
525+
526+
[Back to top](#cppinclude)
527+
509528
## Build
510529

511530
Requirements:
@@ -552,7 +571,7 @@ on Unix:
552571

553572
## Third-party libraries
554573

555-
* [cpp-std-fwd](https://github.com/Philip-Trettner/cpp-std-fwd)
574+
* [stdfwd](https://github.com/olegpublicprofile/stdfwd)
556575
* [cxxopts](https://github.com/jarro2783/cxxopts)
557576
* [{fmt}](https://github.com/fmtlib/fmt)
558577
* [json for modern C++](https://github.com/nlohmann/json)

0 commit comments

Comments
 (0)