-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add github action for Linux, MacOS, Windows Add github action for cross platform (ARM, RISCV, PowerPC ect...) with dockcross Add Google test and Google benchmark, to avoid regressions with units test Add CMake (Shared or Static crc32 library), can be installed (Tested only on ArchLinux/Manjaro and ubuntu 21.10) Add CMake Presets Add Examples Improve Readme Compatible C++11 to C++20 CMake library based on cmake-init Use std::chrono and std::chrono::high_resolution_clock, instead ctime and custom second function. Improve warning message with MSCV Update readme README.md Signed-off-by: Bensuperpc <[email protected]>
- Loading branch information
1 parent
7a02813
commit 421c350
Showing
57 changed files
with
7,894 additions
and
1,738 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
--- | ||
Language: Cpp | ||
# BasedOnStyle: Chromium | ||
AccessModifierOffset: -2 | ||
AlignAfterOpenBracket: Align | ||
AlignConsecutiveMacros: false | ||
AlignConsecutiveAssignments: false | ||
AlignConsecutiveBitFields: false | ||
AlignConsecutiveDeclarations: false | ||
AlignEscapedNewlines: DontAlign | ||
AlignOperands: DontAlign | ||
AlignTrailingComments: false | ||
AllowAllArgumentsOnNextLine: true | ||
AllowAllConstructorInitializersOnNextLine: false | ||
AllowAllParametersOfDeclarationOnNextLine: true | ||
AllowShortEnumsOnASingleLine: false | ||
AllowShortBlocksOnASingleLine: Empty | ||
AllowShortCaseLabelsOnASingleLine: false | ||
AllowShortFunctionsOnASingleLine: Inline | ||
AllowShortLambdasOnASingleLine: All | ||
AllowShortIfStatementsOnASingleLine: Never | ||
AllowShortLoopsOnASingleLine: false | ||
AlwaysBreakAfterDefinitionReturnType: None | ||
AlwaysBreakAfterReturnType: None | ||
AlwaysBreakBeforeMultilineStrings: true | ||
AlwaysBreakTemplateDeclarations: Yes | ||
BinPackArguments: false | ||
BinPackParameters: false | ||
BraceWrapping: | ||
AfterCaseLabel: false | ||
AfterClass: true | ||
AfterControlStatement: MultiLine | ||
AfterEnum: true | ||
AfterFunction: true | ||
AfterNamespace: true | ||
AfterObjCDeclaration: false | ||
AfterStruct: true | ||
AfterUnion: true | ||
AfterExternBlock: true | ||
BeforeCatch: false | ||
BeforeElse: false | ||
BeforeLambdaBody: true | ||
BeforeWhile: false | ||
IndentBraces: false | ||
SplitEmptyFunction: true | ||
SplitEmptyRecord: true | ||
SplitEmptyNamespace: true | ||
BreakBeforeBinaryOperators: NonAssignment | ||
BreakBeforeBraces: Custom | ||
# BreakBeforeInheritanceComma: true | ||
BreakInheritanceList: BeforeComma | ||
BreakBeforeTernaryOperators: true | ||
BreakConstructorInitializersBeforeComma: true | ||
BreakConstructorInitializers: BeforeComma | ||
BreakAfterJavaFieldAnnotations: true | ||
BreakStringLiterals: true | ||
ColumnLimit: 80 | ||
CommentPragmas: '^ IWYU pragma:' | ||
CompactNamespaces: false | ||
ConstructorInitializerAllOnOneLineOrOnePerLine: false | ||
ConstructorInitializerIndentWidth: 4 | ||
ContinuationIndentWidth: 4 | ||
Cpp11BracedListStyle: true | ||
DeriveLineEnding: false | ||
DerivePointerAlignment: false | ||
DisableFormat: false | ||
ExperimentalAutoDetectBinPacking: false | ||
FixNamespaceComments: true | ||
ForEachMacros: | ||
- foreach | ||
- Q_FOREACH | ||
- BOOST_FOREACH | ||
IncludeBlocks: Regroup | ||
IncludeCategories: | ||
# Standard library headers come before anything else | ||
- Regex: '^<[a-z_]+>' | ||
Priority: -1 | ||
- Regex: '^<.+\.h(pp)?>' | ||
Priority: 1 | ||
- Regex: '^<.*' | ||
Priority: 2 | ||
- Regex: '.*' | ||
Priority: 3 | ||
IncludeIsMainRegex: '' | ||
IncludeIsMainSourceRegex: '' | ||
IndentCaseLabels: true | ||
IndentCaseBlocks: false | ||
IndentGotoLabels: true | ||
IndentPPDirectives: AfterHash | ||
IndentExternBlock: NoIndent | ||
IndentWidth: 2 | ||
IndentWrappedFunctionNames: false | ||
InsertTrailingCommas: Wrapped | ||
JavaScriptQuotes: Double | ||
JavaScriptWrapImports: true | ||
KeepEmptyLinesAtTheStartOfBlocks: false | ||
MacroBlockBegin: '' | ||
MacroBlockEnd: '' | ||
MaxEmptyLinesToKeep: 1 | ||
NamespaceIndentation: None | ||
ObjCBinPackProtocolList: Never | ||
ObjCBlockIndentWidth: 2 | ||
ObjCBreakBeforeNestedBlockParam: true | ||
ObjCSpaceAfterProperty: false | ||
ObjCSpaceBeforeProtocolList: true | ||
PenaltyBreakAssignment: 2 | ||
PenaltyBreakBeforeFirstCallParameter: 1 | ||
PenaltyBreakComment: 300 | ||
PenaltyBreakFirstLessLess: 120 | ||
PenaltyBreakString: 1000 | ||
PenaltyBreakTemplateDeclaration: 10 | ||
PenaltyExcessCharacter: 1000000 | ||
PenaltyReturnTypeOnItsOwnLine: 200 | ||
PointerAlignment: Left | ||
RawStringFormats: | ||
- Language: Cpp | ||
Delimiters: | ||
- cc | ||
- CC | ||
- cpp | ||
- Cpp | ||
- CPP | ||
- 'c++' | ||
- 'C++' | ||
CanonicalDelimiter: '' | ||
BasedOnStyle: google | ||
- Language: TextProto | ||
Delimiters: | ||
- pb | ||
- PB | ||
- proto | ||
- PROTO | ||
EnclosingFunctions: | ||
- EqualsProto | ||
- EquivToProto | ||
- PARSE_PARTIAL_TEXT_PROTO | ||
- PARSE_TEST_PROTO | ||
- PARSE_TEXT_PROTO | ||
- ParseTextOrDie | ||
- ParseTextProtoOrDie | ||
- ParseTestProto | ||
- ParsePartialTestProto | ||
CanonicalDelimiter: '' | ||
BasedOnStyle: google | ||
ReflowComments: true | ||
SortIncludes: true | ||
SortUsingDeclarations: true | ||
SpaceAfterCStyleCast: false | ||
SpaceAfterLogicalNot: false | ||
SpaceAfterTemplateKeyword: false | ||
SpaceBeforeAssignmentOperators: true | ||
SpaceBeforeCpp11BracedList: true | ||
SpaceBeforeCtorInitializerColon: true | ||
SpaceBeforeInheritanceColon: true | ||
SpaceBeforeParens: ControlStatementsExceptForEachMacros | ||
SpaceBeforeRangeBasedForLoopColon: true | ||
SpaceInEmptyBlock: false | ||
SpaceInEmptyParentheses: false | ||
SpacesBeforeTrailingComments: 2 | ||
SpacesInAngles: false | ||
SpacesInConditionalStatement: false | ||
SpacesInContainerLiterals: false | ||
SpacesInCStyleCastParentheses: false | ||
SpacesInParentheses: false | ||
SpacesInSquareBrackets: false | ||
SpaceBeforeSquareBrackets: false | ||
Standard: Auto | ||
StatementMacros: | ||
- Q_UNUSED | ||
- QT_REQUIRE_VERSION | ||
TabWidth: 8 | ||
UseCRLF: false | ||
UseTab: Never | ||
WhitespaceSensitiveMacros: | ||
- STRINGIZE | ||
- PP_STRINGIZE | ||
- BOOST_PP_STRINGIZE | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,153 @@ | ||
--- | ||
# Enable ALL the things! Except not really | ||
# misc-non-private-member-variables-in-classes: the options don't do anything | ||
Checks: "*,\ | ||
-google-readability-todo,\ | ||
-altera-unroll-loops,\ | ||
-fuchsia-*,\ | ||
fuchsia-multiple-inheritance,\ | ||
-llvm-header-guard,\ | ||
-llvm-include-order,\ | ||
-llvmlibc-*,\ | ||
-misc-non-private-member-variables-in-classes" | ||
WarningsAsErrors: '' | ||
CheckOptions: | ||
- key: 'bugprone-argument-comment.StrictMode' | ||
value: 'true' | ||
# Prefer using enum classes with 2 values for parameters instead of bools | ||
- key: 'bugprone-argument-comment.CommentBoolLiterals' | ||
value: 'true' | ||
- key: 'bugprone-misplaced-widening-cast.CheckImplicitCasts' | ||
value: 'true' | ||
- key: 'bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression' | ||
value: 'true' | ||
- key: 'bugprone-suspicious-string-compare.WarnOnLogicalNotComparison' | ||
value: 'true' | ||
- key: 'readability-simplify-boolean-expr.ChainedConditionalReturn' | ||
value: 'true' | ||
- key: 'readability-simplify-boolean-expr.ChainedConditionalAssignment' | ||
value: 'true' | ||
- key: 'readability-uniqueptr-delete-release.PreferResetCall' | ||
value: 'true' | ||
- key: 'cppcoreguidelines-init-variables.MathHeader' | ||
value: '<cmath>' | ||
- key: 'cppcoreguidelines-narrowing-conversions.PedanticMode' | ||
value: 'true' | ||
- key: 'readability-else-after-return.WarnOnUnfixable' | ||
value: 'true' | ||
- key: 'readability-else-after-return.WarnOnConditionVariables' | ||
value: 'true' | ||
- key: 'readability-inconsistent-declaration-parameter-name.Strict' | ||
value: 'true' | ||
- key: 'readability-qualified-auto.AddConstToQualified' | ||
value: 'true' | ||
- key: 'readability-redundant-access-specifiers.CheckFirstDeclaration' | ||
value: 'true' | ||
# These seem to be the most common identifier styles | ||
- key: 'readability-identifier-naming.AbstractClassCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ClassCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ClassConstantCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ClassMemberCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ClassMethodCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ConstantCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ConstantMemberCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ConstantParameterCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ConstantPointerParameterCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ConstexprFunctionCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ConstexprMethodCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ConstexprVariableCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.EnumCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.EnumConstantCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.FunctionCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.GlobalConstantCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.GlobalConstantPointerCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.GlobalFunctionCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.GlobalPointerCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.GlobalVariableCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.InlineNamespaceCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.LocalConstantCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.LocalConstantPointerCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.LocalPointerCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.LocalVariableCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.MacroDefinitionCase' | ||
value: 'UPPER_CASE' | ||
- key: 'readability-identifier-naming.MemberCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.MethodCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.NamespaceCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ParameterCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ParameterPackCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.PointerParameterCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.PrivateMemberCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.PrivateMemberPrefix' | ||
value: 'm_' | ||
- key: 'readability-identifier-naming.PrivateMethodCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ProtectedMemberCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ProtectedMemberPrefix' | ||
value: 'm_' | ||
- key: 'readability-identifier-naming.ProtectedMethodCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.PublicMemberCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.PublicMethodCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ScopedEnumConstantCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.StaticConstantCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.StaticVariableCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.StructCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.TemplateParameterCase' | ||
value: 'CamelCase' | ||
- key: 'readability-identifier-naming.TemplateTemplateParameterCase' | ||
value: 'CamelCase' | ||
- key: 'readability-identifier-naming.TypeAliasCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.TypedefCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.TypeTemplateParameterCase' | ||
value: 'CamelCase' | ||
- key: 'readability-identifier-naming.UnionCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.ValueTemplateParameterCase' | ||
value: 'CamelCase' | ||
- key: 'readability-identifier-naming.VariableCase' | ||
value: 'lower_case' | ||
- key: 'readability-identifier-naming.VirtualMethodCase' | ||
value: 'lower_case' | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[codespell] | ||
builtin = clear,rare,en-GB_to_en-US,names,informal,code | ||
check-filenames = | ||
check-hidden = | ||
skip = */.git,*/build | ||
quiet-level = 2 |
Oops, something went wrong.