Decorator patter and initial build
This commit is contained in:
104
.clang-format
Normal file
104
.clang-format
Normal file
@@ -0,0 +1,104 @@
|
||||
Language: Cpp
|
||||
# BasedOnStyle: Google
|
||||
AccessModifierOffset: -2
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignConsecutiveAssignments: true
|
||||
AlignConsecutiveDeclarations: false
|
||||
AlignEscapedNewlines: Right
|
||||
AlignOperands: true
|
||||
AlignTrailingComments: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
AllowShortBlocksOnASingleLine: false
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: Inline
|
||||
AllowShortIfStatementsOnASingleLine: false
|
||||
AllowShortLoopsOnASingleLine: true
|
||||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: TopLevelDefinitions
|
||||
AlwaysBreakBeforeMultilineStrings: true
|
||||
AlwaysBreakTemplateDeclarations: true
|
||||
BinPackArguments: false
|
||||
BinPackParameters: false
|
||||
BreakBeforeBraces : Custom
|
||||
BraceWrapping:
|
||||
AfterClass: false
|
||||
AfterControlStatement: false
|
||||
AfterEnum: false
|
||||
AfterFunction: true
|
||||
AfterNamespace: false
|
||||
AfterObjCDeclaration: false
|
||||
AfterStruct: false
|
||||
AfterUnion: false
|
||||
BeforeCatch: true
|
||||
BeforeElse: true
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: true
|
||||
SplitEmptyRecord: true
|
||||
SplitEmptyNamespace: true
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeInheritanceComma: true
|
||||
BreakBeforeTernaryOperators: true
|
||||
BreakConstructorInitializers: BeforeColon
|
||||
BreakAfterJavaFieldAnnotations: false
|
||||
BreakStringLiterals: true
|
||||
ColumnLimit: 80
|
||||
CommentPragmas: '^ IWYU pragma:'
|
||||
CompactNamespaces: false
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
ContinuationIndentWidth: 4
|
||||
Cpp11BracedListStyle: true
|
||||
DerivePointerAlignment: false
|
||||
DisableFormat: false
|
||||
ExperimentalAutoDetectBinPacking: false
|
||||
FixNamespaceComments: true
|
||||
ForEachMacros:
|
||||
- foreach
|
||||
- Q_FOREACH
|
||||
- BOOST_FOREACH
|
||||
IncludeCategories:
|
||||
- Regex: '^<.*\.h>'
|
||||
Priority: 1
|
||||
- Regex: '^<.*'
|
||||
Priority: 2
|
||||
- Regex: '.*'
|
||||
Priority: 3
|
||||
IncludeIsMainRegex: '([-_](test|unittest))?$'
|
||||
IndentCaseLabels: false
|
||||
IndentWidth: 2
|
||||
IndentWrappedFunctionNames: false
|
||||
JavaScriptQuotes: Leave
|
||||
JavaScriptWrapImports: true
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
MaxEmptyLinesToKeep: 1
|
||||
NamespaceIndentation: None
|
||||
ObjCBlockIndentWidth: 2
|
||||
ObjCSpaceAfterProperty: false
|
||||
ObjCSpaceBeforeProtocolList: false
|
||||
PenaltyBreakAssignment: 2
|
||||
PenaltyBreakBeforeFirstCallParameter: 1
|
||||
PenaltyBreakComment: 300
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyExcessCharacter: 1000000
|
||||
PenaltyReturnTypeOnItsOwnLine: 200
|
||||
PointerAlignment: Left
|
||||
ReflowComments: true
|
||||
SortIncludes: true
|
||||
SortUsingDeclarations: true
|
||||
SpaceAfterCStyleCast: true
|
||||
SpaceAfterTemplateKeyword: true
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesBeforeTrailingComments: 2
|
||||
SpacesInAngles: false
|
||||
SpacesInContainerLiterals: false
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInParentheses: false
|
||||
SpacesInSquareBrackets: false
|
||||
Standard: Cpp11
|
||||
TabWidth: 2
|
||||
UseTab: Never
|
||||
411
.clang-tidy
Normal file
411
.clang-tidy
Normal file
@@ -0,0 +1,411 @@
|
||||
---
|
||||
Checks: 'clang-diagnostic-*,clang-analyzer-*,*'
|
||||
WarningsAsErrors: ''
|
||||
HeaderFilterRegex: ''
|
||||
AnalyzeTemporaryDtors: false
|
||||
User: brgirgis
|
||||
CheckOptions:
|
||||
- key: cert-dcl59-cpp.HeaderFileExtensions
|
||||
value: h,hh,hpp,hxx
|
||||
- key: cert-err09-cpp.CheckThrowTemporaries
|
||||
value: '1'
|
||||
- key: cert-err61-cpp.CheckThrowTemporaries
|
||||
value: '1'
|
||||
- key: cert-oop11-cpp.IncludeStyle
|
||||
value: llvm
|
||||
- key: cppcoreguidelines-pro-bounds-constant-array-index.GslHeader
|
||||
value: ''
|
||||
- key: cppcoreguidelines-pro-bounds-constant-array-index.IncludeStyle
|
||||
value: '0'
|
||||
- key: cppcoreguidelines-pro-type-member-init.IgnoreArrays
|
||||
value: '0'
|
||||
- key: google-build-namespaces.HeaderFileExtensions
|
||||
value: h,hh,hpp,hxx
|
||||
- key: google-global-names-in-headers.HeaderFileExtensions
|
||||
value: h
|
||||
- key: google-readability-braces-around-statements.ShortStatementLines
|
||||
value: '1'
|
||||
- key: google-readability-function-size.BranchThreshold
|
||||
value: '100'
|
||||
- key: google-readability-function-size.LineThreshold
|
||||
value: '300'
|
||||
- key: google-readability-function-size.StatementThreshold
|
||||
value: '5'
|
||||
- key: google-readability-namespace-comments.ShortNamespaceLines
|
||||
value: '10'
|
||||
- key: google-readability-namespace-comments.SpacesBeforeComments
|
||||
value: '2'
|
||||
- key: google-runtime-int.SignedTypePrefix
|
||||
value: int
|
||||
- key: google-runtime-int.TypeSuffix
|
||||
value: ''
|
||||
- key: google-runtime-int.UnsignedTypePrefix
|
||||
value: uint
|
||||
- key: google-runtime-references.WhiteListTypes
|
||||
value: ''
|
||||
- key: llvm-header-guard.HeaderFileExtensions
|
||||
value: ',h,hh,hpp,hxx'
|
||||
- key: llvm-namespace-comment.ShortNamespaceLines
|
||||
value: '1'
|
||||
- key: llvm-namespace-comment.SpacesBeforeComments
|
||||
value: '2'
|
||||
- key: misc-argument-comment.StrictMode
|
||||
value: '0'
|
||||
- key: misc-assert-side-effect.AssertMacros
|
||||
value: assert
|
||||
- key: misc-assert-side-effect.CheckFunctionCalls
|
||||
value: '0'
|
||||
- key: misc-dangling-handle.HandleClasses
|
||||
value: 'std::basic_string_view;std::experimental::basic_string_view'
|
||||
- key: misc-definitions-in-headers.HeaderFileExtensions
|
||||
value: ',h,hh,hpp,hxx'
|
||||
- key: misc-definitions-in-headers.UseHeaderFileExtension
|
||||
value: '0'
|
||||
- key: misc-misplaced-widening-cast.CheckImplicitCasts
|
||||
value: '1'
|
||||
- key: misc-move-constructor-init.IncludeStyle
|
||||
value: llvm
|
||||
- key: misc-sizeof-expression.WarnOnSizeOfCompareToConstant
|
||||
value: '1'
|
||||
- key: misc-sizeof-expression.WarnOnSizeOfConstant
|
||||
value: '1'
|
||||
- key: misc-sizeof-expression.WarnOnSizeOfThis
|
||||
value: '1'
|
||||
- key: misc-string-constructor.LargeLengthThreshold
|
||||
value: '8388608'
|
||||
- key: misc-string-constructor.WarnOnLargeLength
|
||||
value: '1'
|
||||
- key: misc-suspicious-enum-usage.StrictMode
|
||||
value: '0'
|
||||
- key: misc-suspicious-missing-comma.MaxConcatenatedTokens
|
||||
value: '5'
|
||||
- key: misc-suspicious-missing-comma.RatioThreshold
|
||||
value: '0.200000'
|
||||
- key: misc-suspicious-missing-comma.SizeThreshold
|
||||
value: '5'
|
||||
- key: misc-suspicious-string-compare.StringCompareLikeFunctions
|
||||
value: ''
|
||||
- key: misc-suspicious-string-compare.WarnOnImplicitComparison
|
||||
value: '1'
|
||||
- key: misc-suspicious-string-compare.WarnOnLogicalNotComparison
|
||||
value: '0'
|
||||
- key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries
|
||||
value: '1'
|
||||
- key: modernize-loop-convert.MaxCopySize
|
||||
value: '16'
|
||||
- key: modernize-loop-convert.MinConfidence
|
||||
value: reasonable
|
||||
- key: modernize-loop-convert.NamingStyle
|
||||
value: CamelCase
|
||||
- key: modernize-pass-by-value.IncludeStyle
|
||||
value: llvm
|
||||
- key: modernize-pass-by-value.ValuesOnly
|
||||
value: '0'
|
||||
- key: modernize-replace-auto-ptr.IncludeStyle
|
||||
value: llvm
|
||||
- key: modernize-use-auto.RemoveStars
|
||||
value: '0'
|
||||
- key: modernize-use-default-member-init.UseAssignment
|
||||
value: '0'
|
||||
- key: modernize-use-emplace.ContainersWithPushBack
|
||||
value: '::std::vector;::std::list;::std::deque'
|
||||
- key: modernize-use-emplace.SmartPointers
|
||||
value: '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr'
|
||||
- key: modernize-use-nullptr.NullMacros
|
||||
value: 'NULL'
|
||||
- key: modernize-use-transparent-functors.SafeMode
|
||||
value: '0'
|
||||
- key: performance-faster-string-find.StringLikeClasses
|
||||
value: 'std::basic_string'
|
||||
- key: performance-for-range-copy.WarnOnAllAutoCopies
|
||||
value: '0'
|
||||
- key: performance-inefficient-string-concatenation.StrictMode
|
||||
value: '0'
|
||||
- key: performance-type-promotion-in-math-fn.IncludeStyle
|
||||
value: llvm
|
||||
- key: performance-unnecessary-value-param.IncludeStyle
|
||||
value: llvm
|
||||
- key: readability-braces-around-statements.ShortStatementLines
|
||||
value: '0'
|
||||
- key: readability-function-size.BranchThreshold
|
||||
value: '100'
|
||||
- key: readability-function-size.LineThreshold
|
||||
value: '300'
|
||||
- key: readability-function-size.StatementThreshold
|
||||
value: '5'
|
||||
- key: readability-identifier-naming.AbstractClassCase
|
||||
value: CamelCase
|
||||
- key: readability-identifier-naming.AbstractClassPrefix
|
||||
value: 'I'
|
||||
- key: readability-identifier-naming.AbstractClassSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ClassCase
|
||||
value: CamelCase
|
||||
- key: readability-identifier-naming.ClassConstantCase
|
||||
value: aNy_CasE
|
||||
- key: readability-identifier-naming.ClassConstantPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ClassConstantSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ClassMemberCase
|
||||
value: CamelCase
|
||||
- key: readability-identifier-naming.ClassMemberPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ClassMemberSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ClassMethodCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.ClassMethodPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ClassMethodSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ClassPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ClassSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ConstantCase
|
||||
value: aNy_CasE
|
||||
- key: readability-identifier-naming.ConstantMemberCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.ConstantMemberPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ConstantMemberSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ConstantParameterCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.ConstantParameterPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ConstantParameterSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ConstantPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ConstantSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ConstexprFunctionCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.ConstexprFunctionPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ConstexprFunctionSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ConstexprMethodCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.ConstexprMethodPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ConstexprMethodSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ConstexprVariableCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.ConstexprVariablePrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ConstexprVariableSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.EnumCase
|
||||
value: aNy_CasE
|
||||
- key: readability-identifier-naming.EnumConstantCase
|
||||
value: aNy_CasE
|
||||
- key: readability-identifier-naming.EnumConstantPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.EnumConstantSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.EnumPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.EnumSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.FunctionCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.FunctionPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.FunctionSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.GlobalConstantCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.GlobalConstantPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.GlobalConstantSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.GlobalFunctionCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.GlobalFunctionPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.GlobalFunctionSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.GlobalVariableCase
|
||||
value: lower_case
|
||||
- key: readability-identifier-naming.GlobalVariablePrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.GlobalVariableSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.IgnoreFailedSplit
|
||||
value: '0'
|
||||
- key: readability-identifier-naming.InlineNamespaceCase
|
||||
value: lower_case
|
||||
- key: readability-identifier-naming.InlineNamespacePrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.InlineNamespaceSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.LocalConstantCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.LocalConstantPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.LocalConstantSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.LocalVariableCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.LocalVariablePrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.LocalVariableSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.MacroDefinitionCase
|
||||
value: UPPER_CASE
|
||||
- key: readability-identifier-naming.MacroDefinitionPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.MacroDefinitionSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.MemberCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.MemberPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.MemberSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.MethodCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.MethodPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.MethodSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.NamespaceCase
|
||||
value: lower_case
|
||||
- key: readability-identifier-naming.NamespacePrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.NamespaceSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ParameterCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.ParameterPackCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.ParameterPackPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ParameterPackSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ParameterPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ParameterSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.PrivateMemberCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.PrivateMemberPrefix
|
||||
value: 'm_'
|
||||
- key: readability-identifier-naming.PrivateMemberSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.PrivateMethodCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.PrivateMethodPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.PrivateMethodSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ProtectedMemberCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.ProtectedMemberPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ProtectedMemberSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ProtectedMethodCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.ProtectedMethodPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ProtectedMethodSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.PublicMemberCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.PublicMemberPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.PublicMemberSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.PublicMethodCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.PublicMethodPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.PublicMethodSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.StaticConstantCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.StaticConstantPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.StaticConstantSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.StaticVariableCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.StaticVariablePrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.StaticVariableSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.StructCase
|
||||
value: CamelCase
|
||||
- key: readability-identifier-naming.StructPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.StructSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.TemplateParameterCase
|
||||
value: CamelCase
|
||||
- key: readability-identifier-naming.TemplateParameterPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.TemplateParameterSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.TemplateTemplateParameterCase
|
||||
value: CamelCase
|
||||
- key: readability-identifier-naming.TemplateTemplateParameterPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.TemplateTemplateParameterSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.TypeAliasCase
|
||||
value: CamelCase
|
||||
- key: readability-identifier-naming.TypeAliasPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.TypeAliasSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.TypeTemplateParameterCase
|
||||
value: CamelCase
|
||||
- key: readability-identifier-naming.TypeTemplateParameterPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.TypeTemplateParameterSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.TypedefCase
|
||||
value: CamelCase
|
||||
- key: readability-identifier-naming.TypedefPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.TypedefSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.UnionCase
|
||||
value: aNy_CasE
|
||||
- key: readability-identifier-naming.UnionPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.UnionSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ValueTemplateParameterCase
|
||||
value: CamelCase
|
||||
- key: readability-identifier-naming.ValueTemplateParameterPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.ValueTemplateParameterSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.VariableCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.VariablePrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.VariableSuffix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.VirtualMethodCase
|
||||
value: camelBack
|
||||
- key: readability-identifier-naming.VirtualMethodPrefix
|
||||
value: ''
|
||||
- key: readability-identifier-naming.VirtualMethodSuffix
|
||||
value: ''
|
||||
- key: readability-implicit-bool-cast.AllowConditionalIntegerCasts
|
||||
value: '0'
|
||||
- key: readability-implicit-bool-cast.AllowConditionalPointerCasts
|
||||
value: '0'
|
||||
- key: readability-simplify-boolean-expr.ChainedConditionalAssignment
|
||||
value: '0'
|
||||
- key: readability-simplify-boolean-expr.ChainedConditionalReturn
|
||||
value: '0'
|
||||
...
|
||||
|
||||
124
.cproject
Normal file
124
.cproject
Normal file
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="cdt.managedbuild.config.gnu.cross.exe.debug.1234347164">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.exe.debug.1234347164" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.exe.debug.1234347164" name="Debug" parent="cdt.managedbuild.config.gnu.cross.exe.debug">
|
||||
<folderInfo id="cdt.managedbuild.config.gnu.cross.exe.debug.1234347164." name="/" resourcePath="">
|
||||
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.exe.debug.895528174" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.exe.debug">
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1463199201" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
|
||||
<builder buildPath="${workspace_loc:/CPP-Patterns}/src" cleanBuildTarget="-c" command="scons" id="cdt.managedbuild.builder.gnu.cross.1680930682" incrementalBuildTarget="" keepEnvironmentInBuildfile="true" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.1059078889" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
|
||||
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1189450053" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.option.debugging.level.301091150" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.2001659488" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.2072575602" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
|
||||
<option id="gnu.cpp.compiler.option.optimization.level.2060820791" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
||||
<option id="gnu.cpp.compiler.option.debugging.level.1055708519" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
||||
<option id="gnu.cpp.compiler.option.dialect.std.982026885" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.cpp.compiler.dialect.c++1y" valueType="enumerated"/>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.993288318" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cross.c.linker.437342475" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.1591802863" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.598199298" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.1078306475" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cross.assembler.1643316290" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.551258156" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="cdt.managedbuild.config.gnu.cross.exe.release.1243951975">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.exe.release.1243951975" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.exe.release.1243951975" name="Release" parent="cdt.managedbuild.config.gnu.cross.exe.release">
|
||||
<folderInfo id="cdt.managedbuild.config.gnu.cross.exe.release.1243951975." name="/" resourcePath="">
|
||||
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.exe.release.2111437574" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.exe.release">
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1748389627" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
|
||||
<builder buildPath="${workspace_loc:/CPP-Patterns}/src" cleanBuildTarget="DEBUG=0 -c" command="scons" id="cdt.managedbuild.builder.gnu.cross.162542164" incrementalBuildTarget="DEBUG=0" keepEnvironmentInBuildfile="true" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.346338174" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
|
||||
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.526955837" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.option.debugging.level.1753131718" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.110435108" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1248793934" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
|
||||
<option id="gnu.cpp.compiler.option.optimization.level.837851766" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
||||
<option id="gnu.cpp.compiler.option.debugging.level.2110508446" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.2011583782" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cross.c.linker.378980796" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.98989619" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1223375342" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.1339328424" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cross.assembler.1140002719" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1405680098" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="CPP-Patterns.cdt.managedbuild.target.gnu.cross.exe.1178469746" name="Executable" projectType="cdt.managedbuild.target.gnu.cross.exe"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.debug.1234347164;cdt.managedbuild.config.gnu.cross.exe.debug.1234347164.;cdt.managedbuild.tool.gnu.cross.cpp.compiler.2072575602;cdt.managedbuild.tool.gnu.cpp.compiler.input.993288318">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.release.1243951975;cdt.managedbuild.config.gnu.cross.exe.release.1243951975.;cdt.managedbuild.tool.gnu.cross.c.compiler.346338174;cdt.managedbuild.tool.gnu.c.compiler.input.110435108">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.release.1243951975;cdt.managedbuild.config.gnu.cross.exe.release.1243951975.;cdt.managedbuild.tool.gnu.cross.cpp.compiler.1248793934;cdt.managedbuild.tool.gnu.cpp.compiler.input.2011583782">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.debug.1234347164;cdt.managedbuild.config.gnu.cross.exe.debug.1234347164.;cdt.managedbuild.tool.gnu.cross.c.compiler.1059078889;cdt.managedbuild.tool.gnu.c.compiler.input.2001659488">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||
<configuration configurationName="Debug">
|
||||
<resource resourceType="PROJECT" workspacePath="/CPP-Patterns"/>
|
||||
</configuration>
|
||||
<configuration configurationName="Release">
|
||||
<resource resourceType="PROJECT" workspacePath="/CPP-Patterns"/>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||
</cproject>
|
||||
9
.gitignore
vendored
9
.gitignore
vendored
@@ -30,3 +30,12 @@
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
|
||||
build/
|
||||
install/
|
||||
.test/
|
||||
|
||||
*.dblite
|
||||
*.pdb
|
||||
*.out
|
||||
|
||||
|
||||
33
.project
Normal file
33
.project
Normal file
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>CPP-Patterns</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.python.pydev.PyDevBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
<nature>org.python.pydev.pythonNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
8
.pydevproject
Normal file
8
.pydevproject
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?eclipse-pydev version="1.0"?><pydev_project>
|
||||
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
|
||||
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 3.6</pydev_property>
|
||||
<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
|
||||
<path>/${PROJECT_DIR_NAME}/src/site_scons</path>
|
||||
</pydev_pathproperty>
|
||||
</pydev_project>
|
||||
25
.settings/language.settings.xml
Normal file
25
.settings/language.settings.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project>
|
||||
<configuration id="cdt.managedbuild.config.gnu.cross.exe.debug.1234347164" name="Debug">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="605751381233419494" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
<configuration id="cdt.managedbuild.config.gnu.cross.exe.release.1243951975" name="Release">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="605751780412865290" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
</project>
|
||||
201
.settings/org.eclipse.cdt.codan.core.prefs
Normal file
201
.settings/org.eclipse.cdt.codan.core.prefs
Normal file
@@ -0,0 +1,201 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.cdt.codan.checkers.errnoreturn=Warning
|
||||
org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return\\")",implicit\=>false}
|
||||
org.eclipse.cdt.codan.checkers.errreturnvalue=Error
|
||||
org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused return value\\")"}
|
||||
org.eclipse.cdt.codan.checkers.nocommentinside=-Error
|
||||
org.eclipse.cdt.codan.checkers.nocommentinside.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Nesting comments\\")"}
|
||||
org.eclipse.cdt.codan.checkers.nolinecomment=-Error
|
||||
org.eclipse.cdt.codan.checkers.nolinecomment.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Line comments\\")"}
|
||||
org.eclipse.cdt.codan.checkers.noreturn=Error
|
||||
org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return value\\")",implicit\=>false}
|
||||
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Abstract class cannot be instantiated\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Ambiguous problem\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment in condition\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment to itself\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No break at end of case\\")",no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false,enable_fallthrough_quickfix_param\=>false}
|
||||
org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Catching by reference is recommended\\")",unknown\=>false,exceptions\=>()}
|
||||
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Circular inheritance\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class members should be properly initialized\\")",skip\=>true}
|
||||
org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid 'decltype(auto)' specifier\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Field cannot be resolved\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Function cannot be resolved\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid arguments\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid template argument\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Label statement not found\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Member declaration not found\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Method cannot be resolved\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
|
||||
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Name convention for function\\")",pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
|
||||
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class has a virtual method and non-virtual destructor\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid overload\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redeclaration\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redefinition\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Return with parenthesis\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Format String Vulnerability\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Statement has no effect\\")",macro\=>true,exceptions\=>()}
|
||||
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suggested parenthesis around expression\\")",paramNot\=>false}
|
||||
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suspicious semicolon\\")",else\=>false,afterelse\=>false}
|
||||
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Type cannot be resolved\\")"}
|
||||
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused function declaration\\")",macro\=>true}
|
||||
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused static function\\")",macro\=>true}
|
||||
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
|
||||
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused variable declaration in file scope\\")",macro\=>true,exceptions\=>("@(\#)","$Id")}
|
||||
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
|
||||
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Symbol is not resolved\\")"}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.c++11=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.c++11.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.categorized=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.categorized.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.deprecated=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.deprecated.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.endif_comment=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.endif_comment.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.explicit_make_pair=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.explicit_make_pair.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.forward_decl=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.forward_decl.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.header_guard=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.header_guard.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.include=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.include.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.include_alpha=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.include_alpha.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.include_order=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.include_order.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.include_what_you_use=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.include_what_you_use.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.namespaces=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.namespaces.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.printf_format=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.printf_format.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.storage_class=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.build.storage_class.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.legal.copyright=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.legal.copyright.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.alt_tokens=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.alt_tokens.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.braces=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.braces.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.casting=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.casting.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.check=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.check.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.constructors=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.constructors.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.fn_size=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.fn_size.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.function=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.function.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.inheritance=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.inheritance.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.multiline_comment=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.multiline_comment.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.multiline_string=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.multiline_string.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.namespace=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.namespace.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.nolint=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.nolint.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.nul=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.nul.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.strings=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.strings.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.todo=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.todo.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.utf8=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.readability.utf8.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.arrays=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.arrays.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.casting=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.casting.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.explicit=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.explicit.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.indentation_namespace=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.indentation_namespace.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.init=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.init.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.int=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.int.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.invalid_increment=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.invalid_increment.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.member_string_references=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.member_string_references.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.memset=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.memset.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.operator=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.operator.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.printf=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.printf.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.printf_format=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.printf_format.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.references=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.references.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.string=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.string.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.threadsafe_fn=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.threadsafe_fn.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.vlog=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.runtime.vlog.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.blank_line=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.blank_line.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.braces=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.braces.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.comma=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.comma.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.comments=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.comments.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.empty_conditional_body=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.empty_conditional_body.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.empty_loop_body=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.empty_loop_body.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.end_of_line=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.end_of_line.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.ending_newline=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.ending_newline.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.forcolon=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.forcolon.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.indent=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.indent.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.line_length=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.line_length.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.newline=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.newline.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.operators=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.operators.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.parens=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.parens.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.semicolon=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.semicolon.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.tab=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.tab.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.todo=Error
|
||||
org.wangzw.plugin.cppstyle.cpplint.whitespace.todo.params={fileScope\=>inclusion\=>("*.cc","*.h","*.cpp","*.cu","*.cuh","*.hpp"),exclusion\=>(),launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>true,RUN_AS_YOU_TYPE\=>false,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
|
||||
165
.settings/org.eclipse.cdt.core.prefs
Normal file
165
.settings/org.eclipse.cdt.core.prefs
Normal file
@@ -0,0 +1,165 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.cdt.core.code_formatter=org.eclipse.cdt.core.defaultCodeFormatter
|
||||
org.eclipse.cdt.core.formatter.alignment_for_arguments_in_method_invocation=83
|
||||
org.eclipse.cdt.core.formatter.alignment_for_assignment=16
|
||||
org.eclipse.cdt.core.formatter.alignment_for_base_clause_in_type_declaration=80
|
||||
org.eclipse.cdt.core.formatter.alignment_for_binary_expression=16
|
||||
org.eclipse.cdt.core.formatter.alignment_for_compact_if=16
|
||||
org.eclipse.cdt.core.formatter.alignment_for_conditional_expression=34
|
||||
org.eclipse.cdt.core.formatter.alignment_for_conditional_expression_chain=18
|
||||
org.eclipse.cdt.core.formatter.alignment_for_constructor_initializer_list=83
|
||||
org.eclipse.cdt.core.formatter.alignment_for_declarator_list=16
|
||||
org.eclipse.cdt.core.formatter.alignment_for_enumerator_list=83
|
||||
org.eclipse.cdt.core.formatter.alignment_for_expression_list=0
|
||||
org.eclipse.cdt.core.formatter.alignment_for_expressions_in_array_initializer=18
|
||||
org.eclipse.cdt.core.formatter.alignment_for_member_access=0
|
||||
org.eclipse.cdt.core.formatter.alignment_for_overloaded_left_shift_chain=18
|
||||
org.eclipse.cdt.core.formatter.alignment_for_parameters_in_method_declaration=83
|
||||
org.eclipse.cdt.core.formatter.alignment_for_throws_clause_in_method_declaration=83
|
||||
org.eclipse.cdt.core.formatter.brace_position_for_array_initializer=end_of_line
|
||||
org.eclipse.cdt.core.formatter.brace_position_for_block=end_of_line
|
||||
org.eclipse.cdt.core.formatter.brace_position_for_block_in_case=end_of_line
|
||||
org.eclipse.cdt.core.formatter.brace_position_for_method_declaration=next_line
|
||||
org.eclipse.cdt.core.formatter.brace_position_for_namespace_declaration=end_of_line
|
||||
org.eclipse.cdt.core.formatter.brace_position_for_switch=end_of_line
|
||||
org.eclipse.cdt.core.formatter.brace_position_for_type_declaration=end_of_line
|
||||
org.eclipse.cdt.core.formatter.comment.line_up_line_comment_in_blocks_on_first_column=false
|
||||
org.eclipse.cdt.core.formatter.comment.min_distance_between_code_and_line_comment=1
|
||||
org.eclipse.cdt.core.formatter.comment.never_indent_line_comments_on_first_column=true
|
||||
org.eclipse.cdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=true
|
||||
org.eclipse.cdt.core.formatter.compact_else_if=true
|
||||
org.eclipse.cdt.core.formatter.continuation_indentation=2
|
||||
org.eclipse.cdt.core.formatter.continuation_indentation_for_array_initializer=2
|
||||
org.eclipse.cdt.core.formatter.format_guardian_clause_on_one_line=false
|
||||
org.eclipse.cdt.core.formatter.indent_access_specifier_compare_to_type_header=false
|
||||
org.eclipse.cdt.core.formatter.indent_access_specifier_extra_spaces=0
|
||||
org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_access_specifier=true
|
||||
org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_namespace_header=false
|
||||
org.eclipse.cdt.core.formatter.indent_breaks_compare_to_cases=true
|
||||
org.eclipse.cdt.core.formatter.indent_declaration_compare_to_template_header=false
|
||||
org.eclipse.cdt.core.formatter.indent_empty_lines=false
|
||||
org.eclipse.cdt.core.formatter.indent_statements_compare_to_block=true
|
||||
org.eclipse.cdt.core.formatter.indent_statements_compare_to_body=true
|
||||
org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_cases=true
|
||||
org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_switch=false
|
||||
org.eclipse.cdt.core.formatter.indentation.size=2
|
||||
org.eclipse.cdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_new_line_after_template_declaration=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
|
||||
org.eclipse.cdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_new_line_before_colon_in_constructor_initializer_list=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
|
||||
org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
|
||||
org.eclipse.cdt.core.formatter.insert_new_line_in_empty_block=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_assignment_operator=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_binary_operator=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_arguments=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_parameters=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_closing_brace_in_block=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_colon_in_base_clause=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_colon_in_case=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_colon_in_conditional=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_base_types=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_declarator_list=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_expression_list=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_arguments=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_parameters=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_arguments=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_parameters=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_bracket=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_exception_specification=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_postfix_operator=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_prefix_operator=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_question_in_conditional=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_semicolon_in_for=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_after_unary_operator=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_assignment_operator=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_binary_operator=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_arguments=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_parameters=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_bracket=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_exception_specification=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_base_clause=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_case=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_conditional=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_default=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_base_types=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_declarator_list=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_expression_list=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_arguments=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_parameters=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_arguments=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_parameters=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_block=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_namespace_declaration=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_bracket=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_exception_specification=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_for=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_if=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_while=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_postfix_operator=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_prefix_operator=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_question_in_conditional=insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_semicolon=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_before_unary_operator=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_between_empty_brackets=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_exception_specification=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
|
||||
org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
|
||||
org.eclipse.cdt.core.formatter.join_wrapped_lines=true
|
||||
org.eclipse.cdt.core.formatter.keep_else_statement_on_same_line=false
|
||||
org.eclipse.cdt.core.formatter.keep_empty_array_initializer_on_one_line=false
|
||||
org.eclipse.cdt.core.formatter.keep_imple_if_on_one_line=false
|
||||
org.eclipse.cdt.core.formatter.keep_then_statement_on_same_line=false
|
||||
org.eclipse.cdt.core.formatter.lineSplit=80
|
||||
org.eclipse.cdt.core.formatter.number_of_empty_lines_to_preserve=1
|
||||
org.eclipse.cdt.core.formatter.put_empty_statement_on_new_line=true
|
||||
org.eclipse.cdt.core.formatter.tabulation.char=space
|
||||
org.eclipse.cdt.core.formatter.tabulation.size=2
|
||||
org.eclipse.cdt.core.formatter.use_tabs_only_for_leading_indentations=false
|
||||
3
.settings/org.eclipse.cdt.ui.prefs
Normal file
3
.settings/org.eclipse.cdt.ui.prefs
Normal file
@@ -0,0 +1,3 @@
|
||||
eclipse.preferences.version=1
|
||||
formatter_profile=_K&R [built-in] modified
|
||||
formatter_settings_version=1
|
||||
217
src/.style.yapf
Normal file
217
src/.style.yapf
Normal file
@@ -0,0 +1,217 @@
|
||||
[style]
|
||||
# Align closing bracket with visual indentation.
|
||||
align_closing_bracket_with_visual_indent=False
|
||||
|
||||
# Allow dictionary keys to exist on multiple lines. For example:
|
||||
#
|
||||
# x = {
|
||||
# ('this is the first element of a tuple',
|
||||
# 'this is the second element of a tuple'):
|
||||
# value,
|
||||
# }
|
||||
allow_multiline_dictionary_keys=False
|
||||
|
||||
# Allow lambdas to be formatted on more than one line.
|
||||
allow_multiline_lambdas=False
|
||||
|
||||
# Allow splits before the dictionary value.
|
||||
allow_split_before_dict_value=True
|
||||
|
||||
# Insert a blank line before a class-level docstring.
|
||||
blank_line_before_class_docstring=False
|
||||
|
||||
# Insert a blank line before a 'def' or 'class' immediately nested
|
||||
# within another 'def' or 'class'. For example:
|
||||
#
|
||||
# class Foo:
|
||||
# # <------ this blank line
|
||||
# def method():
|
||||
# ...
|
||||
blank_line_before_nested_class_or_def=True
|
||||
|
||||
# Do not split consecutive brackets. Only relevant when
|
||||
# dedent_closing_brackets is set. For example:
|
||||
#
|
||||
# call_func_that_takes_a_dict(
|
||||
# {
|
||||
# 'key1': 'value1',
|
||||
# 'key2': 'value2',
|
||||
# }
|
||||
# )
|
||||
#
|
||||
# would reformat to:
|
||||
#
|
||||
# call_func_that_takes_a_dict({
|
||||
# 'key1': 'value1',
|
||||
# 'key2': 'value2',
|
||||
# })
|
||||
coalesce_brackets=False
|
||||
|
||||
# The column limit.
|
||||
column_limit=80
|
||||
|
||||
# Indent width used for line continuations.
|
||||
continuation_indent_width=4
|
||||
|
||||
# Put closing brackets on a separate line, dedented, if the bracketed
|
||||
# expression can't fit in a single line. Applies to all kinds of brackets,
|
||||
# including function definitions and calls. For example:
|
||||
#
|
||||
# config = {
|
||||
# 'key1': 'value1',
|
||||
# 'key2': 'value2',
|
||||
# } # <--- this bracket is dedented and on a separate line
|
||||
#
|
||||
# time_series = self.remote_client.query_entity_counters(
|
||||
# entity='dev3246.region1',
|
||||
# key='dns.query_latency_tcp',
|
||||
# transform=Transformation.AVERAGE(window=timedelta(seconds=60)),
|
||||
# start_ts=now()-timedelta(days=3),
|
||||
# end_ts=now(),
|
||||
# ) # <--- this bracket is dedented and on a separate line
|
||||
dedent_closing_brackets=True
|
||||
|
||||
# Place each dictionary entry onto its own line.
|
||||
each_dict_entry_on_separate_line=True
|
||||
|
||||
# The regex for an i18n comment. The presence of this comment stops
|
||||
# reformatting of that line, because the comments are required to be
|
||||
# next to the string they translate.
|
||||
i18n_comment=#\..*
|
||||
|
||||
# The i18n function call names. The presence of this function stops
|
||||
# reformattting on that line, because the string it has cannot be moved
|
||||
# away from the i18n comment.
|
||||
i18n_function_call=['N_', '_']
|
||||
|
||||
# Indent the dictionary value if it cannot fit on the same line as the
|
||||
# dictionary key. For example:
|
||||
#
|
||||
# config = {
|
||||
# 'key1':
|
||||
# 'value1',
|
||||
# 'key2': value1 +
|
||||
# value2,
|
||||
# }
|
||||
indent_dictionary_value=False
|
||||
|
||||
# The number of columns to use for indentation.
|
||||
indent_width=4
|
||||
|
||||
# Join short lines into one line. E.g., single line 'if' statements.
|
||||
join_multiple_lines=True
|
||||
|
||||
# Do not include spaces around selected binary operators. For example:
|
||||
#
|
||||
# 1 + 2 * 3 - 4 / 5
|
||||
#
|
||||
# will be formatted as follows when configured with a value "*,/":
|
||||
#
|
||||
# 1 + 2*3 - 4/5
|
||||
#
|
||||
no_spaces_around_selected_binary_operators=set()
|
||||
|
||||
# Use spaces around default or named assigns.
|
||||
spaces_around_default_or_named_assign=False
|
||||
|
||||
# Use spaces around the power operator.
|
||||
spaces_around_power_operator=False
|
||||
|
||||
# The number of spaces required before a trailing comment.
|
||||
spaces_before_comment=2
|
||||
|
||||
# Insert a space between the ending comma and closing bracket of a list,
|
||||
# etc.
|
||||
space_between_ending_comma_and_closing_bracket=False
|
||||
|
||||
# Split before arguments if the argument list is terminated by a
|
||||
# comma.
|
||||
split_arguments_when_comma_terminated=False
|
||||
|
||||
# Set to True to prefer splitting before '&', '|' or '^' rather than
|
||||
# after.
|
||||
split_before_bitwise_operator=False
|
||||
|
||||
# Split before a dictionary or set generator (comp_for). For example, note
|
||||
# the split before the 'for':
|
||||
#
|
||||
# foo = {
|
||||
# variable: 'Hello world, have a nice day!'
|
||||
# for variable in bar if variable != 42
|
||||
# }
|
||||
split_before_dict_set_generator=True
|
||||
|
||||
# Split after the opening paren which surrounds an expression if it doesn't
|
||||
# fit on a single line.
|
||||
split_before_expression_after_opening_paren=False
|
||||
|
||||
# If an argument / parameter list is going to be split, then split before
|
||||
# the first argument.
|
||||
split_before_first_argument=False
|
||||
|
||||
# Set to True to prefer splitting before 'and' or 'or' rather than
|
||||
# after.
|
||||
split_before_logical_operator=False
|
||||
|
||||
# Split named assignments onto individual lines.
|
||||
split_before_named_assigns=True
|
||||
|
||||
# Set to True to split list comprehensions and generators that have
|
||||
# non-trivial expressions and multiple clauses before each of these
|
||||
# clauses. For example:
|
||||
#
|
||||
# result = [
|
||||
# a_long_var + 100 for a_long_var in xrange(1000)
|
||||
# if a_long_var % 10]
|
||||
#
|
||||
# would reformat to something like:
|
||||
#
|
||||
# result = [
|
||||
# a_long_var + 100
|
||||
# for a_long_var in xrange(1000)
|
||||
# if a_long_var % 10]
|
||||
split_complex_comprehension=True
|
||||
|
||||
# The penalty for splitting right after the opening bracket.
|
||||
split_penalty_after_opening_bracket=30
|
||||
|
||||
# The penalty for splitting the line after a unary operator.
|
||||
split_penalty_after_unary_operator=10000
|
||||
|
||||
# The penalty for splitting right before an if expression.
|
||||
split_penalty_before_if_expr=0
|
||||
|
||||
# The penalty of splitting the line around the '&', '|', and '^'
|
||||
# operators.
|
||||
split_penalty_bitwise_operator=300
|
||||
|
||||
# The penalty for splitting a list comprehension or generator
|
||||
# expression.
|
||||
split_penalty_comprehension=2100
|
||||
|
||||
# The penalty for characters over the column limit.
|
||||
split_penalty_excess_character=4500
|
||||
|
||||
# The penalty incurred by adding a line split to the unwrapped line. The
|
||||
# more line splits added the higher the penalty.
|
||||
split_penalty_for_added_line_split=30
|
||||
|
||||
# The penalty of splitting a list of "import as" names. For example:
|
||||
#
|
||||
# from a_very_long_or_indented_module_name_yada_yad import (long_argument_1,
|
||||
# long_argument_2,
|
||||
# long_argument_3)
|
||||
#
|
||||
# would reformat to something like:
|
||||
#
|
||||
# from a_very_long_or_indented_module_name_yada_yad import (
|
||||
# long_argument_1, long_argument_2, long_argument_3)
|
||||
split_penalty_import_names=0
|
||||
|
||||
# The penalty of splitting the line around the 'and' and 'or'
|
||||
# operators.
|
||||
split_penalty_logical_operator=300
|
||||
|
||||
# Use the Tab character for indentation.
|
||||
use_tabs=False
|
||||
|
||||
31
src/SConstruct
Normal file
31
src/SConstruct
Normal file
@@ -0,0 +1,31 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
Help("""
|
||||
|
||||
DEBUG=1,0 - enable debug build, default 1
|
||||
|
||||
""")
|
||||
|
||||
def build():
|
||||
from miscsetup import CustomBuildEnvironment
|
||||
env = CustomBuildEnvironment()
|
||||
env.build()
|
||||
|
||||
|
||||
if not GetOption('help'):
|
||||
build()
|
||||
3
src/site_scons/.gitignore
vendored
Normal file
3
src/site_scons/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
|
||||
__pycache__/
|
||||
|
||||
62
src/site_scons/localtargets/Executable.py
Normal file
62
src/site_scons/localtargets/Executable.py
Normal file
@@ -0,0 +1,62 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
from .RunableTarget import RunableTarget
|
||||
|
||||
|
||||
class Executable(RunableTarget):
|
||||
|
||||
def __init__(
|
||||
self, env, name, sources, localStaticLibs, localSharedLibs,
|
||||
externalLibs, isBin
|
||||
):
|
||||
|
||||
self.__target = None
|
||||
self.__isBin = isBin
|
||||
|
||||
super(Executable, self).__init__(
|
||||
env, name, sources, localStaticLibs, localSharedLibs, externalLibs
|
||||
)
|
||||
|
||||
self.writeScript()
|
||||
|
||||
self.env.Install(self.installDir, self.target)
|
||||
|
||||
@property
|
||||
def installDir(self):
|
||||
return self.binDir if self.__isBin else \
|
||||
self.etcDir
|
||||
|
||||
@property
|
||||
def scriptFileDir(self):
|
||||
return self.installDir
|
||||
|
||||
@property
|
||||
def target(self):
|
||||
|
||||
if self.__target is None:
|
||||
self.__target = \
|
||||
self.env.Program(target=self.name,
|
||||
source=self.sources,
|
||||
LIBS=self.localSharedLibsNames + self.externalLibsNames,
|
||||
LIBPATH=self.env['LIBPATH'] +
|
||||
self.externalLibsPaths,
|
||||
CPPPATH=self.env['CPPPATH'] +
|
||||
self.externalLibsIncludes,
|
||||
CPPFLAGS=self.cppFlags,
|
||||
LINKFLAGS=self.linkFlags)
|
||||
return self.__target
|
||||
163
src/site_scons/localtargets/LocalTarget.py
Normal file
163
src/site_scons/localtargets/LocalTarget.py
Normal file
@@ -0,0 +1,163 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import os
|
||||
|
||||
|
||||
class LocalTarget(object):
|
||||
|
||||
def __init__(
|
||||
self, env, name, sources, localStaticLibs, localSharedLibs, externalLibs
|
||||
):
|
||||
|
||||
self.__env = env
|
||||
self.__name = name
|
||||
self.__sources = sources
|
||||
self.__localStaticLibs = localStaticLibs
|
||||
self.__localSharedLibs = localSharedLibs
|
||||
self.__externalLibs = externalLibs
|
||||
|
||||
self.__localDir = os.getcwd()
|
||||
|
||||
@property
|
||||
def installDir(self):
|
||||
assert False
|
||||
|
||||
@property
|
||||
def target(self):
|
||||
assert False
|
||||
|
||||
@property
|
||||
def env(self):
|
||||
return self.defaultEnv
|
||||
|
||||
@property
|
||||
def defaultEnv(self):
|
||||
return self.__env.defaultEnv
|
||||
|
||||
@property
|
||||
def swigEnv(self):
|
||||
return self.__env.swigEnv
|
||||
|
||||
@property
|
||||
def srcDir(self):
|
||||
return self.__env.srcDir
|
||||
|
||||
@property
|
||||
def buildDir(self):
|
||||
return self.__env.buildDir
|
||||
|
||||
@property
|
||||
def binDir(self):
|
||||
return self.__env.binDir
|
||||
|
||||
@property
|
||||
def libDir(self):
|
||||
return self.__env.libDir
|
||||
|
||||
@property
|
||||
def libPyDir(self):
|
||||
return self.__env.libPyDir
|
||||
|
||||
@property
|
||||
def testDir(self):
|
||||
return self.__env.testDir
|
||||
|
||||
@property
|
||||
def etcDir(self):
|
||||
return self.__env.etcDir
|
||||
|
||||
@property
|
||||
def isWindows(self):
|
||||
return self.__env.isWindows
|
||||
|
||||
@property
|
||||
def isLinux(self):
|
||||
return self.__env.isLinux
|
||||
|
||||
@property
|
||||
def isClean(self):
|
||||
return self.__env.isClean
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
return self.__name
|
||||
|
||||
@property
|
||||
def sources(self):
|
||||
return self.__sources
|
||||
|
||||
@property
|
||||
def cppFlags(self):
|
||||
return self.env['CPPFLAGS']
|
||||
|
||||
@property
|
||||
def linkFlags(self):
|
||||
return self.env['LINKFLAGS']
|
||||
|
||||
@property
|
||||
def cppDefines(self):
|
||||
return self.env['CPPDEFINES'].copy()
|
||||
|
||||
@property
|
||||
def localSharedLibsNames(self):
|
||||
return self.__localSharedLibs
|
||||
|
||||
@property
|
||||
def externalLibs(self):
|
||||
return self.__externalLibs
|
||||
|
||||
@property
|
||||
def localDir(self):
|
||||
return self.__localDir
|
||||
|
||||
@property
|
||||
def externalLibsNames(self):
|
||||
nameList = []
|
||||
for externalLib in self.externalLibs:
|
||||
nameList += externalLib.lib
|
||||
return nameList
|
||||
|
||||
@property
|
||||
def externalLibsPaths(self):
|
||||
return [lib.libPath for lib in self.externalLibs if lib.libPath]
|
||||
|
||||
@property
|
||||
def externalLibsIncludes(self):
|
||||
return [lib.include for lib in self.externalLibs if lib.include]
|
||||
|
||||
def absPath(self, path):
|
||||
return os.path.abspath(path)
|
||||
|
||||
def dirName(self, path):
|
||||
return os.path.dirname(path)
|
||||
|
||||
def join(self, *paths):
|
||||
return os.path.join(*paths)
|
||||
|
||||
def isFile(self, fileNamePath):
|
||||
return os.path.isfile(fileNamePath)
|
||||
|
||||
def clean(self, fileNamePath):
|
||||
if not all([self.isClean, self.isFile(fileNamePath)]):
|
||||
return
|
||||
os.remove(fileNamePath)
|
||||
print('Removed', fileNamePath)
|
||||
|
||||
def summary(self):
|
||||
lstr = self.name + '\n'
|
||||
return lstr
|
||||
78
src/site_scons/localtargets/RunableTarget.py
Normal file
78
src/site_scons/localtargets/RunableTarget.py
Normal file
@@ -0,0 +1,78 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
from .LocalTarget import LocalTarget
|
||||
|
||||
|
||||
class RunableTarget(LocalTarget):
|
||||
|
||||
def __init__(
|
||||
self, env, name, sources, localStaticLibs, localSharedLibs, externalLibs
|
||||
):
|
||||
|
||||
super(RunableTarget, self).__init__(
|
||||
env, name, sources, localStaticLibs, localSharedLibs, externalLibs
|
||||
)
|
||||
|
||||
@property
|
||||
def scriptFileDir(self):
|
||||
assert False
|
||||
|
||||
def getScriptFilePath(self):
|
||||
import os
|
||||
scriptFileDir = self.scriptFileDir
|
||||
if not os.path.exists(scriptFileDir):
|
||||
os.makedirs(scriptFileDir)
|
||||
if self.isLinux:
|
||||
return os.path.join(scriptFileDir, self.name) + '.sh'
|
||||
elif self.isWindows:
|
||||
return os.path.join(scriptFileDir, self.name) + '.exe.bat'
|
||||
|
||||
def _writeLinuxScript(self):
|
||||
scriptPath = self.getScriptFilePath()
|
||||
self.clean(scriptPath)
|
||||
if all([not self.isClean, not self.isFile(scriptPath)]):
|
||||
print('Writing', scriptPath)
|
||||
with open(scriptPath, 'w') as f:
|
||||
f.write(r'#!/bin/sh' + '\n')
|
||||
f.write(r'SCRIPT=`realpath -s $0`' + '\n')
|
||||
f.write(r'SCRIPTPATH=`dirname $SCRIPT`' + '\n')
|
||||
f.write(
|
||||
r'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:' + self.libDir +
|
||||
'\n'
|
||||
)
|
||||
f.write(r'$SCRIPTPATH/' + self.name + r' "$@"')
|
||||
import os
|
||||
os.system('chmod +x ' + scriptPath)
|
||||
|
||||
def _writeWindowsScript(self):
|
||||
scriptPath = self.getScriptFilePath()
|
||||
self.clean(scriptPath)
|
||||
if all([not self.isClean, not self.isFile(scriptPath)]):
|
||||
print('Writing', scriptPath)
|
||||
with open(scriptPath, 'w') as f:
|
||||
f.write(r'@echo off' + '\n')
|
||||
f.write(r'setlocal' + '\n')
|
||||
f.write(r'set scriptPath=%~dp0' + '\n')
|
||||
f.write(r'PATH=$PATH;' + self.libDir + '\n')
|
||||
f.write(r'%scriptPath%' + self.name + r' %*')
|
||||
|
||||
def writeScript(self):
|
||||
if self.isLinux:
|
||||
return self._writeLinuxScript()
|
||||
elif self.isWindows:
|
||||
return self._writeWindowsScript()
|
||||
18
src/site_scons/localtargets/__init__.py
Normal file
18
src/site_scons/localtargets/__init__.py
Normal file
@@ -0,0 +1,18 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
from .Executable import Executable
|
||||
95
src/site_scons/miscsetup/Architecture.py
Normal file
95
src/site_scons/miscsetup/Architecture.py
Normal file
@@ -0,0 +1,95 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
|
||||
import SCons
|
||||
|
||||
|
||||
class Architecture(object):
|
||||
|
||||
def __init__(self):
|
||||
|
||||
self.__osName = platform.system()
|
||||
self.__pythonVersion = platform.python_version()
|
||||
self.__sconsVersion = SCons.__version__
|
||||
|
||||
if self.__osName not in self.supportedSystems:
|
||||
raise RuntimeError('Unsupported OS architecture.')
|
||||
|
||||
self.__sysDirName = 'unknown'
|
||||
if self.isLinux:
|
||||
self.__sysDirName = 'linx64'
|
||||
if not 'LD_LIBRARY_PATH' in os.environ:
|
||||
os.environ['LD_LIBRARY_PATH'] = ''
|
||||
elif self.isWindows:
|
||||
self.__sysDirName = 'winx64'
|
||||
|
||||
@property
|
||||
def supportedSystems(self):
|
||||
return ['Windows', 'Linux']
|
||||
|
||||
@property
|
||||
def osName(self):
|
||||
return self.__osName
|
||||
|
||||
@property
|
||||
def isWindows(self):
|
||||
return self.osName == 'Windows'
|
||||
|
||||
@property
|
||||
def isLinux(self):
|
||||
return self.osName == 'Linux'
|
||||
|
||||
@property
|
||||
def pythonVersion(self):
|
||||
return self.__pythonVersion
|
||||
|
||||
@property
|
||||
def sconsVersion(self):
|
||||
return self.__sconsVersion
|
||||
|
||||
@property
|
||||
def sysDirName(self):
|
||||
return self.__sysDirName
|
||||
|
||||
def _getFormatedPaths(self, pathStr):
|
||||
return str(pathStr.split(os.pathsep)).replace(', ', ',\n').replace(
|
||||
'[', '[\n'
|
||||
).replace(']', '\n]')
|
||||
|
||||
def summary(self):
|
||||
lstr = '=' * 50 + '\n'
|
||||
lstr += 'Architecture Summary\n'
|
||||
lstr += '=' * 50 + '\n'
|
||||
lstr += 'operating system: ' + self.osName + '\n'
|
||||
lstr += 'python version: ' + self.pythonVersion + '\n'
|
||||
lstr += 'scons version: ' + self.sconsVersion + '\n'
|
||||
lstr += 'path: ' + \
|
||||
self._getFormatedPaths(os.environ['PATH']) + '\n'
|
||||
if self.isLinux:
|
||||
lstr += 'LD_LIBRARY_PATH: ' + \
|
||||
self._getFormatedPaths(os.environ['LD_LIBRARY_PATH']) + '\n'
|
||||
if os.environ.get('PYTHONPATH'):
|
||||
lstr += 'python path: ' + \
|
||||
self._getFormatedPaths(os.environ['PYTHONPATH']) + '\n'
|
||||
lstr += 'session python path: ' + \
|
||||
self._getFormatedPaths(os.pathsep.join(sys.path)) + '\n'
|
||||
lstr += '-' * 50 + '\n'
|
||||
return lstr
|
||||
66
src/site_scons/miscsetup/ArgumentsSetup.py
Normal file
66
src/site_scons/miscsetup/ArgumentsSetup.py
Normal file
@@ -0,0 +1,66 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
|
||||
class ArgumentsSetup(object):
|
||||
|
||||
def __init__(self):
|
||||
|
||||
from SCons.Script import ARGUMENTS, GetOption
|
||||
|
||||
self.__debugArg = ARGUMENTS.get('DEBUG', '1')
|
||||
if self.__debugArg not in ['0', '1']:
|
||||
raise RuntimeError('Check the DEBUG input argument.')
|
||||
|
||||
self.__assertArg = '1' if self.__debugArg == '1' else '0'
|
||||
if self.__assertArg not in ['0', '1']:
|
||||
raise RuntimeError('Check the ASSERT input argument.')
|
||||
|
||||
self.__compilerName = ARGUMENTS.get('COMPILER', '')
|
||||
|
||||
self.__isClean = GetOption('clean')
|
||||
|
||||
@property
|
||||
def isDebug(self):
|
||||
return self.__debugArg == '1'
|
||||
|
||||
@property
|
||||
def isAssert(self):
|
||||
return self.__assertArg == '1'
|
||||
|
||||
@property
|
||||
def compilerName(self):
|
||||
return self.__compilerName
|
||||
|
||||
@property
|
||||
def isClean(self):
|
||||
return self.__isClean
|
||||
|
||||
def summary(self):
|
||||
|
||||
def printDefault(x):
|
||||
return x if x else '-default-'
|
||||
|
||||
lstr = '=' * 50 + '\n'
|
||||
lstr += 'Build Arguments Summary\n'
|
||||
lstr += '=' * 50 + '\n'
|
||||
lstr += 'debug: ' + str(self.isDebug) + '\n'
|
||||
lstr += 'assert: ' + str(self.isAssert) + '\n'
|
||||
lstr += 'compiler name: ' + printDefault(self.compilerName) + '\n'
|
||||
lstr += 'clean build: ' + str(self.isClean) + '\n'
|
||||
lstr += '-' * 50 + '\n'
|
||||
return lstr
|
||||
162
src/site_scons/miscsetup/BuildPath.py
Normal file
162
src/site_scons/miscsetup/BuildPath.py
Normal file
@@ -0,0 +1,162 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
|
||||
class BuildPath(object):
|
||||
|
||||
def __init__(self, archObj, argObj):
|
||||
|
||||
import os
|
||||
|
||||
from SCons.Script import Dir
|
||||
|
||||
# main
|
||||
self.__srcDir = Dir('#').abspath
|
||||
|
||||
self.__projectDir = os.path.abspath(os.path.join(self.__srcDir, '..'))
|
||||
self.__runtimeDir = os.path.join(self.__projectDir, 'runtime')
|
||||
self.__thirdpartyDir = os.path.join(self.__projectDir, 'thirdparty')
|
||||
|
||||
#assert os.path.exists(self.__runtimeDir)
|
||||
#assert os.path.exists(self.__thirdpartyDir)
|
||||
|
||||
def _exist(path):
|
||||
if not os.path.exists(path):
|
||||
os.makedirs(path)
|
||||
return path
|
||||
|
||||
# build variables
|
||||
self.__buildDir = os.path.join(
|
||||
self.__projectDir, 'build', archObj.sysDirName
|
||||
)
|
||||
self.__installDir = os.path.join(
|
||||
self.__projectDir, 'install', archObj.sysDirName
|
||||
)
|
||||
|
||||
self.__buildDir = _exist(self.__buildDir)
|
||||
|
||||
self.__binDir = _exist(os.path.join(self.__installDir, 'bin'))
|
||||
self.__libDir = _exist(os.path.join(self.__installDir, 'lib'))
|
||||
self.__libPyDir = _exist(os.path.join(self.__libDir, 'py'))
|
||||
self.__testDir = _exist(os.path.join(self.__installDir, 'test'))
|
||||
self.__etcDir = _exist(os.path.join(self.__installDir, 'etc'))
|
||||
|
||||
# lib
|
||||
self.__runtimeArchDir = os.path.join(
|
||||
self.__runtimeDir, archObj.sysDirName
|
||||
)
|
||||
#assert os.path.exists(self.__runtimeArchDir)
|
||||
|
||||
# thirdparty
|
||||
__thirdpartyNoArchDir = os.path.join(self.__thirdpartyDir, 'noarch')
|
||||
__thirdpartyArchDir = os.path.join(
|
||||
self.__thirdpartyDir, archObj.sysDirName
|
||||
)
|
||||
|
||||
self.__thirdpartyNoArchBinDir = os.path.join(
|
||||
__thirdpartyNoArchDir, 'bin'
|
||||
)
|
||||
self.__thirdpartyArchBinDir = os.path.join(__thirdpartyArchDir, 'bin')
|
||||
#assert os.path.exists(self.__thirdpartyNoArchBinDir)
|
||||
#assert os.path.exists(self.__thirdpartyArchBinDir)
|
||||
|
||||
self.__thirdpartyNoArchIncludeDir = os.path.join(
|
||||
__thirdpartyNoArchDir, 'include'
|
||||
)
|
||||
self.__thirdpartyArchIncludeDir = os.path.join(
|
||||
__thirdpartyArchDir, 'include'
|
||||
)
|
||||
#assert os.path.exists(self.__thirdpartyNoArchIncludeDir)
|
||||
#assert os.path.exists(self.__thirdpartyArchIncludeDir)
|
||||
|
||||
self.__thirdpartyNoArchLibDir = os.path.join(
|
||||
__thirdpartyNoArchDir, 'lib'
|
||||
)
|
||||
self.__thirdpartyArchLibDir = os.path.join(__thirdpartyArchDir, 'lib')
|
||||
#assert os.path.exists(self.__thirdpartyNoArchLibDir)
|
||||
#assert os.path.exists(self.__thirdpartyArchLibDir)
|
||||
|
||||
self.__thirdpartyNoArchLibPyDir = os.path.join(
|
||||
self.__thirdpartyNoArchLibDir, 'py'
|
||||
)
|
||||
#assert os.path.exists(self.__thirdpartyNoArchLibPyDir)
|
||||
|
||||
@property
|
||||
def projectDir(self):
|
||||
return self.__projectDir
|
||||
|
||||
@property
|
||||
def srcDir(self):
|
||||
return self.__srcDir
|
||||
|
||||
@property
|
||||
def buildDir(self):
|
||||
return self.__buildDir
|
||||
|
||||
@property
|
||||
def binDir(self):
|
||||
return self.__binDir
|
||||
|
||||
@property
|
||||
def libDir(self):
|
||||
return self.__libDir
|
||||
|
||||
@property
|
||||
def libPyDir(self):
|
||||
return self.__libPyDir
|
||||
|
||||
@property
|
||||
def testDir(self):
|
||||
return self.__testDir
|
||||
|
||||
@property
|
||||
def etcDir(self):
|
||||
return self.__etcDir
|
||||
|
||||
@property
|
||||
def runtimeArchDir(self):
|
||||
return self.__runtimeArchDir
|
||||
|
||||
@property
|
||||
def thirdpartyNoArchIncludeDir(self):
|
||||
return self.__thirdpartyNoArchIncludeDir
|
||||
|
||||
@property
|
||||
def thirdpartyArchIncludeDir(self):
|
||||
return self.__thirdpartyArchIncludeDir
|
||||
|
||||
@property
|
||||
def thirdpartyArchLibDir(self):
|
||||
return self.__thirdpartyArchLibDir
|
||||
|
||||
def summary(self):
|
||||
lstr = '=' * 50 + '\n'
|
||||
lstr += 'Paths Summary\n'
|
||||
lstr += '=' * 50 + '\n'
|
||||
lstr += 'project: ' + self.projectDir + '\n'
|
||||
lstr += 'build: ' + self.buildDir + '\n'
|
||||
lstr += 'install bin: ' + self.binDir + '\n'
|
||||
lstr += 'install lib: ' + self.libDir + '\n'
|
||||
lstr += 'install py: ' + self.libPyDir + '\n'
|
||||
lstr += 'install test: ' + self.testDir + '\n'
|
||||
lstr += 'install etc: ' + self.etcDir + '\n'
|
||||
lstr += 'runtime: ' + self.runtimeArchDir + '\n'
|
||||
lstr += 'thirdparty noarch include: ' + self.thirdpartyNoArchIncludeDir + '\n'
|
||||
lstr += 'thirdparty arch include: ' + self.thirdpartyArchIncludeDir + '\n'
|
||||
lstr += 'thirdparty arch lib: ' + self.thirdpartyArchLibDir + '\n'
|
||||
lstr += '-' * 50 + '\n'
|
||||
return lstr
|
||||
243
src/site_scons/miscsetup/CompilerSetup.py
Normal file
243
src/site_scons/miscsetup/CompilerSetup.py
Normal file
@@ -0,0 +1,243 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
|
||||
class CompilerSetup(object):
|
||||
|
||||
def __init__(self, archObj, argObj):
|
||||
|
||||
self.__archObj = archObj
|
||||
self.__argObj = argObj
|
||||
|
||||
self.__gccCom = 'gcc'
|
||||
self.__intelCom = 'intel'
|
||||
self.__clangCom = 'clang'
|
||||
self.__msvcCom = 'msvc'
|
||||
|
||||
if archObj.isLinux:
|
||||
self.__defaultCompiler = self.__gccCom
|
||||
self.__compilers = {
|
||||
self.__gccCom: ['gcc', 'g++'],
|
||||
self.__intelCom: ['ic', 'icpc'],
|
||||
self.__clangCom: ['clang', 'clang++']
|
||||
}
|
||||
elif archObj.isWindows:
|
||||
self.__defaultCompiler = self.__msvcCom
|
||||
self.__compilers = {
|
||||
self.__msvcCom: ['cl', 'cl'],
|
||||
self.__intelCom: ['ic', 'icpp'],
|
||||
self.__clangCom: ['clang', 'clang++']
|
||||
}
|
||||
|
||||
self.__compiler = argObj.compilerName if argObj.compilerName else \
|
||||
self.__defaultCompiler
|
||||
|
||||
if self.__compiler not in self.__compilers:
|
||||
raise RuntimeError('Check the COMPILER input argument.')
|
||||
|
||||
#
|
||||
# widnows compilers
|
||||
#
|
||||
def _clang_windows(self):
|
||||
return dict(
|
||||
ccFlags=["-std=c++1z", '-fms-compatibility-version=21'],
|
||||
optCFlags=["-O3"],
|
||||
optLinkFlags=["-Wl,--export-dynamic"],
|
||||
debugCFlags=[
|
||||
"-O0", "-Wall", "-Wuninitialized", "-Wunused", "-Wconversion",
|
||||
"-fpermissive"
|
||||
],
|
||||
debugLinkFlags=["-g"],
|
||||
profileCFlags=["-g"],
|
||||
profileLinkFlags=["-g"],
|
||||
ompCFlags=["-fopenmp"],
|
||||
ompLinkFlags=["-fopenmp"],
|
||||
defFlagsStr="-D",
|
||||
includeFlagsStr="-I"
|
||||
)
|
||||
|
||||
def _intel_windows(self):
|
||||
return dict(
|
||||
ccFlags=["/MD", "/EHsc", "/Qvc10"],
|
||||
optCFlags=[
|
||||
"/O3", "/Qrestrict", "/Qprec-div-", "/Qvec-report0", "/Qip"
|
||||
], # last not profile only
|
||||
optLinkFlags=["/MANIFEST"],
|
||||
debugCFlags=[
|
||||
"/Zi", "/Qrestrict", "/Fd${TARGET}.pdb", "/Od", "/W3", "/Wcheck"
|
||||
],
|
||||
debugLinkFlags=["/debug"],
|
||||
profileCFlags=["/Zi", "/Fd${TARGET}.pdb", "/Qprof-gen-"],
|
||||
profileLinkFlags=["/debug"],
|
||||
ompCFlags=["/Qopenmp"],
|
||||
ompLinkFlags=[""],
|
||||
defFlagsStr="/D",
|
||||
includeFlagsStr="/I"
|
||||
)
|
||||
|
||||
def _msvc_windows(self):
|
||||
return dict(
|
||||
ccFlags=["/MD", "/EHsc", "/wd4251"],
|
||||
optCFlags=["/O2"],
|
||||
optLinkFlags=["/MANIFEST"],
|
||||
debugCFlags=["/Od", "/Zi", "/Fd${TARGET}.pdb", "/W3"],
|
||||
debugLinkFlags=["/debug"],
|
||||
profileCFlags=["/Zi", "/Fd${TARGET}.pdb"],
|
||||
profileLinkFlags=["/debug"],
|
||||
ompCFlags=["/openmp"],
|
||||
ompLinkFlags=[""],
|
||||
defFlagsStr="/D",
|
||||
includeFlagsStr="/I"
|
||||
)
|
||||
|
||||
#
|
||||
# linux compilers
|
||||
#
|
||||
def _clang_linux(self):
|
||||
return dict(
|
||||
ccFlags=["-std=c++1z"],
|
||||
optCFlags=["-O3"],
|
||||
optLinkFlags=["-Wl,--export-dynamic"],
|
||||
debugCFlags=[
|
||||
"-g", "-O0", "-Wall", "-Wuninitialized", "-Wunused",
|
||||
"-Wconversion", "-fpermissive"
|
||||
],
|
||||
debugLinkFlags=["-g"],
|
||||
profileCFlags=["-g"],
|
||||
profileLinkFlags=["-g"],
|
||||
ompCFlags=["-fopenmp"],
|
||||
ompLinkFlags=["-fopenmp"],
|
||||
defFlagsStr="-D",
|
||||
includeFlagsStr="-I"
|
||||
)
|
||||
|
||||
def _intel_linux(self):
|
||||
return dict(
|
||||
ccFlags=["-Wcheck"],
|
||||
optCFlags=["-O3", "-no-prec-div", "-ip", "-qopt-report"],
|
||||
optLinkFlags=["-O3"],
|
||||
debugCFlags=["-g", "-O0", "-Wall"],
|
||||
debugLinkFlags=["-g", "-O0"],
|
||||
profileCFlags=["-g"],
|
||||
profileLinkFlags=["-g"],
|
||||
ompCFlags=["-openmp"],
|
||||
ompLinkFlags=["-openmp"],
|
||||
defFlagsStr="-D",
|
||||
includeFlagsStr="-I"
|
||||
)
|
||||
|
||||
def _gcc_linux(self):
|
||||
return dict(
|
||||
ccFlags=["-std=c++1z"],
|
||||
optCFlags=["-O3"],
|
||||
optLinkFlags=["-Wl,--export-dynamic"],
|
||||
debugCFlags=[
|
||||
"-g", "-O0", "-Wall", "-Wuninitialized", "-Wunused",
|
||||
"-Wconversion", "-fpermissive", "-Wimplicit-fallthrough"
|
||||
],
|
||||
debugLinkFlags=["-g"],
|
||||
profileCFlags=["-g"],
|
||||
profileLinkFlags=["-g"],
|
||||
ompCFlags=["-fopenmp"],
|
||||
ompLinkFlags=["-fopenmp"],
|
||||
defFlagsStr="-D",
|
||||
includeFlagsStr="-I"
|
||||
)
|
||||
|
||||
def _arch_compiler_flags(self):
|
||||
if self.__archObj.isLinux:
|
||||
if self.__compiler == self.__gccCom:
|
||||
return self._gcc_linux()
|
||||
elif self.__compiler == self.__intelCom:
|
||||
return self._intel_linux()
|
||||
elif self.__compiler == self.__clangCom:
|
||||
return self._clang_linux()
|
||||
elif self.__archObj.isWindows:
|
||||
retDict = None
|
||||
if self.__compiler == self.__msvcCom:
|
||||
retDict = self._msvc_windows()
|
||||
elif self.__compiler == self.__intelCom:
|
||||
retDict = self._intel_windows()
|
||||
elif self.__compiler == self.__clangCom:
|
||||
retDict = self._clang_windows()
|
||||
return retDict
|
||||
|
||||
@property
|
||||
def compilers(self):
|
||||
return self.__compilers
|
||||
|
||||
@property
|
||||
def defaultCompiler(self):
|
||||
return self.__defaultCompiler
|
||||
|
||||
@property
|
||||
def compiler(self):
|
||||
return self.__compiler
|
||||
|
||||
@property
|
||||
def cCompiler(self):
|
||||
return self.__compilers[self.compiler][0]
|
||||
|
||||
@property
|
||||
def cppCompiler(self):
|
||||
return self.__compilers[self.compiler][1]
|
||||
|
||||
def getFlags(self):
|
||||
__buildFlags = []
|
||||
__linkFlags = []
|
||||
|
||||
__archFlags = self._arch_compiler_flags()
|
||||
__buildFlags += __archFlags['ccFlags']
|
||||
|
||||
if self.__argObj.isDebug:
|
||||
__buildFlags += __archFlags['debugCFlags']
|
||||
__linkFlags += __archFlags['debugLinkFlags']
|
||||
else:
|
||||
__buildFlags += __archFlags['optCFlags']
|
||||
__linkFlags += __archFlags['optLinkFlags']
|
||||
|
||||
__localDefs = {}
|
||||
|
||||
if not self.__argObj.isAssert:
|
||||
__localDefs['NDEBUG'] = None
|
||||
|
||||
if self.__archObj.isWindows:
|
||||
#__localDefs['BOOST_LIB_TOOLSET'] = 'vc141'
|
||||
__localDefs['BOOST_ALL_DYN_LINK'] = None
|
||||
#__localDefs['BOOST_LIB_DIAGNOSTIC'] = None
|
||||
|
||||
return dict(
|
||||
buildFlags=__buildFlags,
|
||||
linkFlags=__linkFlags,
|
||||
localDefs=__localDefs,
|
||||
defFlagsStr=__archFlags['defFlagsStr'],
|
||||
includeFlagsStr=__archFlags['includeFlagsStr']
|
||||
)
|
||||
|
||||
def summary(self):
|
||||
__archFlags = self.getFlags()
|
||||
lstr = '=' * 50 + '\n'
|
||||
lstr += 'Compiler Configuration Summary\n'
|
||||
lstr += '=' * 50 + '\n'
|
||||
lstr += 'system compilers: ' + str(self.compilers) + '\n'
|
||||
lstr += 'default compiler: ' + self.defaultCompiler + '\n'
|
||||
lstr += 'selected compiler: ' + self.compiler + '\n'
|
||||
lstr += 'build flags: ' + str(__archFlags['buildFlags']) + '\n'
|
||||
lstr += 'link flags: ' + str(__archFlags['linkFlags']) + '\n'
|
||||
lstr += 'def flags: ' + str(__archFlags['localDefs']) + '\n'
|
||||
lstr += '-' * 50 + '\n'
|
||||
return lstr
|
||||
253
src/site_scons/miscsetup/CustomBuildEnvironment.py
Normal file
253
src/site_scons/miscsetup/CustomBuildEnvironment.py
Normal file
@@ -0,0 +1,253 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import os
|
||||
|
||||
from SCons.Script import (Environment, Alias, Default, VariantDir, SConscript)
|
||||
|
||||
from localtargets import Executable as LocalExecutable
|
||||
|
||||
|
||||
class CustomBuildEnvironment(object):
|
||||
|
||||
def __init__(self):
|
||||
|
||||
from .Architecture import Architecture
|
||||
from .ArgumentsSetup import ArgumentsSetup
|
||||
from .CompilerSetup import CompilerSetup
|
||||
from .BuildPath import BuildPath
|
||||
from .NamedObjectTable import NamedObjectTable
|
||||
|
||||
self.__archConfig = Architecture()
|
||||
self.__argumentsConfig = ArgumentsSetup()
|
||||
self.__compilerConfig = CompilerSetup(
|
||||
self.__archConfig, self.__argumentsConfig
|
||||
)
|
||||
self.__pathConfig = BuildPath(self.__archConfig, self.__argumentsConfig)
|
||||
|
||||
additionalEnv = dict(
|
||||
tools=[
|
||||
'default',
|
||||
]
|
||||
)
|
||||
|
||||
self.__defaultEnv = Environment(ENV=os.environ, **additionalEnv)
|
||||
|
||||
buildAndLinkFlags = self.__compilerConfig.getFlags()
|
||||
|
||||
self.__defaultEnv.Replace(
|
||||
CC=self.__compilerConfig.cCompiler,
|
||||
CXX=self.__compilerConfig.cppCompiler
|
||||
)
|
||||
self.__defaultEnv['CPPFLAGS'] = buildAndLinkFlags['buildFlags']
|
||||
self.__defaultEnv['LINKFLAGS'] = buildAndLinkFlags['linkFlags']
|
||||
self.__defaultEnv['CPPDEFINES'] = buildAndLinkFlags['localDefs']
|
||||
self.__defaultEnv['CPPDEFPREFIX'] = buildAndLinkFlags['defFlagsStr']
|
||||
self.__defaultEnv['INCPREFIX'] = buildAndLinkFlags['includeFlagsStr']
|
||||
self.__defaultEnv['CPPPATH'] = [
|
||||
self.__pathConfig.srcDir,
|
||||
self.__pathConfig.thirdpartyNoArchIncludeDir,
|
||||
self.__pathConfig.thirdpartyArchIncludeDir,
|
||||
]
|
||||
self.__defaultEnv['LIBPATH'] = [self.__pathConfig.libDir]
|
||||
'''
|
||||
self.__defaultEnv['_MSVC_OUTPUT_FLAG'] = '-o $TARGET'
|
||||
self.__defaultEnv['CCCOM'] = self.__defaultEnv['CCCOM'].replace('/c', '-c')
|
||||
self.__defaultEnv['CXXCOM'] = self.__defaultEnv['CXXCOM'].replace('/c', '-c')
|
||||
self.__defaultEnv['SHCCCOM'] = self.__defaultEnv['SHCCCOM'].replace('/c', '-c')
|
||||
self.__defaultEnv['SHCXXCOM'] = self.__defaultEnv['SHCXXCOM'].replace('/c', '-c')
|
||||
self.__defaultEnv['CCFLAGS'].remove('/nologo')
|
||||
self.__defaultEnv['CXXFLAGS'].remove('/TP')
|
||||
'''
|
||||
|
||||
Alias('installBin', self.__pathConfig.binDir)
|
||||
Alias('installLib', self.__pathConfig.libDir)
|
||||
Alias('installLibPy', self.__pathConfig.libPyDir)
|
||||
Alias('installTest', self.__pathConfig.testDir)
|
||||
Alias('installEtc', self.__pathConfig.etcDir)
|
||||
|
||||
Alias(
|
||||
'install', [
|
||||
'installBin', 'installLib', 'installLibPy',
|
||||
'installTest', 'installEtc'
|
||||
]
|
||||
)
|
||||
|
||||
Default('install')
|
||||
|
||||
'''
|
||||
open('defaultEnv.txt', 'w').write(self.__defaultEnv.Dump())
|
||||
'''
|
||||
|
||||
self.__localTargets = {
|
||||
name: NamedObjectTable(tableName=title)
|
||||
for name, title in [
|
||||
('program', 'Programs'),
|
||||
]
|
||||
}
|
||||
|
||||
if self.isLinux:
|
||||
pass #self.defaultEnv.Install(self.libDir, self.runtimeArchDir)
|
||||
|
||||
@property
|
||||
def SConscript(self):
|
||||
return 'SConscript'
|
||||
|
||||
@property
|
||||
def defaultEnv(self):
|
||||
return self.__defaultEnv
|
||||
|
||||
@property
|
||||
def swigEnv(self):
|
||||
return self.__swigEnv
|
||||
|
||||
@property
|
||||
def srcDir(self):
|
||||
return self.__pathConfig.srcDir
|
||||
|
||||
@property
|
||||
def startDir(self):
|
||||
return self.__pathConfig.startDir
|
||||
|
||||
@property
|
||||
def cppDir(self):
|
||||
return self.__pathConfig.cppDir
|
||||
|
||||
@property
|
||||
def buildDir(self):
|
||||
return self.__pathConfig.buildDir
|
||||
|
||||
@property
|
||||
def binDir(self):
|
||||
return self.__pathConfig.binDir
|
||||
|
||||
@property
|
||||
def libDir(self):
|
||||
return self.__pathConfig.libDir
|
||||
|
||||
@property
|
||||
def libPyDir(self):
|
||||
return self.__pathConfig.libPyDir
|
||||
|
||||
@property
|
||||
def testDir(self):
|
||||
return self.__pathConfig.testDir
|
||||
|
||||
@property
|
||||
def etcDir(self):
|
||||
return self.__pathConfig.etcDir
|
||||
|
||||
@property
|
||||
def runtimeArchDir(self):
|
||||
return self.__pathConfig.runtimeArchDir
|
||||
|
||||
@property
|
||||
def thirdpartyArchLibDir(self):
|
||||
return self.__pathConfig.thirdpartyArchLibDir
|
||||
|
||||
@property
|
||||
def thirdpartyLibsPyDir(self):
|
||||
return self.__pathConfig.thirdpartyLibsPyDir
|
||||
|
||||
@property
|
||||
def isWindows(self):
|
||||
return self.__archConfig.isWindows
|
||||
|
||||
@property
|
||||
def isLinux(self):
|
||||
return self.__archConfig.isLinux
|
||||
|
||||
@property
|
||||
def isClean(self):
|
||||
return self.__argumentsConfig.isClean
|
||||
|
||||
def _checkSources(self, sources, isShared=False):
|
||||
|
||||
if isinstance(sources, str):
|
||||
sources = [sources]
|
||||
|
||||
assert isinstance(sources, list)
|
||||
|
||||
# sources = list(set(sources))
|
||||
newSources = []
|
||||
for src in sources:
|
||||
if '.proto' in src:
|
||||
protoObj = self.__localTargets['proto'].get(
|
||||
[src.replace('.proto', '')]
|
||||
)[0]
|
||||
for ccSrc in protoObj.getCC():
|
||||
newSources.append(
|
||||
self.defaultEnv.SharedObject(ccSrc)
|
||||
if isShared else self.defaultEnv.Object(ccSrc)
|
||||
)
|
||||
else:
|
||||
newSources.append(src)
|
||||
|
||||
return newSources
|
||||
|
||||
def program(
|
||||
self,
|
||||
targetName,
|
||||
sources,
|
||||
localStaticLibs=[],
|
||||
localSharedLibs=[],
|
||||
externalLibs=[],
|
||||
isBin=False
|
||||
):
|
||||
sources = self._checkSources(sources)
|
||||
progObj = LocalExecutable(
|
||||
env=self,
|
||||
name=targetName,
|
||||
sources=sources,
|
||||
localStaticLibs=localStaticLibs,
|
||||
localSharedLibs=localSharedLibs,
|
||||
externalLibs=[],#self.__externalLibTable.get(externalLibs),
|
||||
isBin=isBin
|
||||
)
|
||||
self.__localTargets['program'].register(progObj)
|
||||
return progObj
|
||||
|
||||
def _buildSConscript(self):
|
||||
|
||||
def _getRootList():
|
||||
for root, _, files in os.walk(self.srcDir):
|
||||
if self.SConscript in files:
|
||||
yield root.replace(self.srcDir, self.buildDir)
|
||||
|
||||
for root in _getRootList():
|
||||
SConscript(
|
||||
os.path.join(root, self.SConscript), exports={
|
||||
'env': self
|
||||
}
|
||||
)
|
||||
|
||||
def build(self):
|
||||
|
||||
VariantDir(variant_dir=self.buildDir, src_dir=self.srcDir, duplicate=0)
|
||||
|
||||
self._buildSConscript()
|
||||
|
||||
print(self.summary())
|
||||
|
||||
def summary(self):
|
||||
lstr = self.__archConfig.summary()
|
||||
lstr += self.__argumentsConfig.summary()
|
||||
lstr += self.__compilerConfig.summary()
|
||||
lstr += self.__pathConfig.summary()
|
||||
for name in sorted(list(self.__localTargets.keys())):
|
||||
lstr += self.__localTargets[name].summary()
|
||||
return lstr
|
||||
52
src/site_scons/miscsetup/NamedObjectTable.py
Normal file
52
src/site_scons/miscsetup/NamedObjectTable.py
Normal file
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
|
||||
class NamedObjectTable(object):
|
||||
|
||||
def __init__(self, tableName):
|
||||
self.__name = tableName
|
||||
|
||||
self.__list = {}
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
return self.__name
|
||||
|
||||
def register(self, namedObj):
|
||||
self.__list[namedObj.name] = namedObj
|
||||
|
||||
def get(self, objNames):
|
||||
keys = list(self.__list.keys())
|
||||
namedObjs = []
|
||||
for objName in objNames:
|
||||
if objName in keys:
|
||||
namedObjs.append(self.__list[objName])
|
||||
else:
|
||||
raise RuntimeError('Unknown ' + self.name + ': ' + objName)
|
||||
return namedObjs
|
||||
|
||||
def iterObjects(self):
|
||||
return iter(list(self.__list.values()))
|
||||
|
||||
def summary(self):
|
||||
lstr = '=' * 50 + '\n'
|
||||
lstr += self.name + ' Summary\n'
|
||||
lstr += '=' * 50 + '\n'
|
||||
for namedObj in list(self.__list.values()):
|
||||
lstr += namedObj.summary() + '-' * 50 + '\n'
|
||||
return lstr
|
||||
18
src/site_scons/miscsetup/__init__.py
Normal file
18
src/site_scons/miscsetup/__init__.py
Normal file
@@ -0,0 +1,18 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
from .CustomBuildEnvironment import CustomBuildEnvironment
|
||||
16
src/site_scons/site_init.py
Normal file
16
src/site_scons/site_init.py
Normal file
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
22
src/structural/SConscript
Normal file
22
src/structural/SConscript
Normal file
@@ -0,0 +1,22 @@
|
||||
#
|
||||
# This file is part of cpp-patterns.
|
||||
#
|
||||
# cpp-patterns is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# cpp-patterns is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
Import('env')
|
||||
|
||||
env.program(targetName='decoratorEx',
|
||||
sources=['decorator/decorator.cpp'],
|
||||
localSharedLibs=[])
|
||||
50
src/structural/decorator/Command.hpp
Normal file
50
src/structural/decorator/Command.hpp
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* This file is part of cpp-patterns.
|
||||
*
|
||||
* cpp-patterns is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* cpp-patterns is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef SRC_STRUCTURAL_DECORATOR_COMMAND_HPP_
|
||||
#define SRC_STRUCTURAL_DECORATOR_COMMAND_HPP_
|
||||
|
||||
#include <type_traits>
|
||||
|
||||
namespace structural {
|
||||
|
||||
namespace decorator {
|
||||
|
||||
struct Command {
|
||||
virtual ~Command() = default;
|
||||
|
||||
virtual void execute() const = 0;
|
||||
|
||||
template <class T>
|
||||
static Command* generate(Command* p = nullptr)
|
||||
{
|
||||
return p ? p : new T();
|
||||
}
|
||||
|
||||
template <class D, class... Types>
|
||||
static std::enable_if_t<sizeof...(Types) >= 1, Command*> generate(
|
||||
Command* p = nullptr)
|
||||
{
|
||||
return new D(generate<Types...>(p));
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace decorator
|
||||
|
||||
} // namespace structural
|
||||
|
||||
#endif // SRC_STRUCTURAL_DECORATOR_COMMAND_HPP_
|
||||
54
src/structural/decorator/Decorator.hpp
Normal file
54
src/structural/decorator/Decorator.hpp
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* This file is part of cpp-patterns.
|
||||
*
|
||||
* cpp-patterns is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* cpp-patterns is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef SRC_STRUCTURAL_DECORATOR_DECORATOR_HPP_
|
||||
#define SRC_STRUCTURAL_DECORATOR_DECORATOR_HPP_
|
||||
|
||||
#include "Command.hpp"
|
||||
|
||||
#include <memory>
|
||||
|
||||
namespace structural {
|
||||
|
||||
namespace decorator {
|
||||
|
||||
class Decorator : public Command {
|
||||
public:
|
||||
Decorator(const Command* const p) : m_p(p) {}
|
||||
|
||||
virtual ~Decorator() = default;
|
||||
|
||||
virtual void execute() const override final
|
||||
{
|
||||
this->decorateBefore();
|
||||
m_p->execute();
|
||||
this->decorateAfter();
|
||||
}
|
||||
|
||||
protected:
|
||||
virtual void decorateBefore() const = 0;
|
||||
virtual void decorateAfter() const = 0;
|
||||
|
||||
private:
|
||||
const std::unique_ptr<const Command> m_p;
|
||||
};
|
||||
|
||||
} // namespace decorator
|
||||
|
||||
} // namespace structural
|
||||
|
||||
#endif // SRC_STRUCTURAL_DECORATOR_DECORATOR_HPP_
|
||||
51
src/structural/decorator/Decorators.hpp
Normal file
51
src/structural/decorator/Decorators.hpp
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* This file is part of cpp-patterns.
|
||||
*
|
||||
* cpp-patterns is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* cpp-patterns is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef SRC_STRUCTURAL_DECORATOR_DECORATORS_HPP_
|
||||
#define SRC_STRUCTURAL_DECORATOR_DECORATORS_HPP_
|
||||
|
||||
#include "Decorator.hpp"
|
||||
|
||||
namespace structural {
|
||||
|
||||
namespace decorator {
|
||||
|
||||
class BeforeDecorator : public Decorator {
|
||||
public:
|
||||
BeforeDecorator(const Command* const p) : Decorator(p) {}
|
||||
|
||||
virtual ~BeforeDecorator() = default;
|
||||
|
||||
protected:
|
||||
virtual void decorateAfter() const override final {}
|
||||
};
|
||||
|
||||
class AfterDecorator : public Decorator {
|
||||
public:
|
||||
AfterDecorator(const Command* const p) : Decorator(p) {}
|
||||
|
||||
virtual ~AfterDecorator() = default;
|
||||
|
||||
protected:
|
||||
virtual void decorateBefore() const override final {}
|
||||
};
|
||||
|
||||
} // namespace decorator
|
||||
|
||||
} // namespace structural
|
||||
|
||||
#endif // SRC_STRUCTURAL_DECORATOR_DECORATORS_HPP_
|
||||
120
src/structural/decorator/decorator.cpp
Normal file
120
src/structural/decorator/decorator.cpp
Normal file
@@ -0,0 +1,120 @@
|
||||
/*
|
||||
* This file is part of cpp-patterns.
|
||||
*
|
||||
* cpp-patterns is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* cpp-patterns is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with cpp-patterns. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "Decorators.hpp"
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
class DecoratorA : public structural::decorator::BeforeDecorator {
|
||||
public:
|
||||
DecoratorA(const structural::decorator::Command* const p)
|
||||
: structural::decorator::BeforeDecorator(p)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~DecoratorA() { std::cout << "destroying DecoratorA\n"; }
|
||||
|
||||
protected:
|
||||
virtual void decorateBefore() const override
|
||||
{
|
||||
std::cout << "DecoratorA::decorateBefore()\n";
|
||||
}
|
||||
};
|
||||
|
||||
class DecoratorB : public structural::decorator::AfterDecorator {
|
||||
public:
|
||||
DecoratorB(const structural::decorator::Command* const p)
|
||||
: structural::decorator::AfterDecorator(p)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~DecoratorB() { std::cout << "destroying DecoratorB\n"; }
|
||||
|
||||
protected:
|
||||
virtual void decorateAfter() const override
|
||||
{
|
||||
std::cout << "DecoratorB::decorateAfter()\n";
|
||||
}
|
||||
};
|
||||
|
||||
class DecoratorC : public structural::decorator::AfterDecorator {
|
||||
public:
|
||||
DecoratorC(const structural::decorator::Command* const p)
|
||||
: structural::decorator::AfterDecorator(p)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~DecoratorC() { std::cout << "destroying DecoratorC\n"; }
|
||||
|
||||
protected:
|
||||
virtual void decorateAfter() const override
|
||||
{
|
||||
std::cout << "DecoratorC::decorateAfter()\n";
|
||||
}
|
||||
};
|
||||
|
||||
class DecoratorD : public structural::decorator::BeforeDecorator {
|
||||
public:
|
||||
DecoratorD(const structural::decorator::Command* const p)
|
||||
: structural::decorator::BeforeDecorator(p)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~DecoratorD() { std::cout << "destroying DecoratorD\n"; }
|
||||
|
||||
protected:
|
||||
virtual void decorateBefore() const override
|
||||
{
|
||||
std::cout << "DecoratorD::decorateBefore()\n";
|
||||
}
|
||||
};
|
||||
|
||||
struct CommandA : public structural::decorator::Command {
|
||||
CommandA() = default;
|
||||
|
||||
virtual ~CommandA() = default;
|
||||
|
||||
virtual void execute() const override
|
||||
{
|
||||
std::cout << "CommandA::execute()\n";
|
||||
}
|
||||
};
|
||||
|
||||
int
|
||||
main(int argc, char** argv)
|
||||
{
|
||||
// auto a = structural::decorator::Command::generate<DecoratorA, CommandA>();
|
||||
auto af = structural::decorator::Command::
|
||||
generate<DecoratorB, DecoratorD, DecoratorA, DecoratorC, CommandA>();
|
||||
// auto ag = structural::decorator::Command::generate<DecoratorB, DecoratorD,
|
||||
// DecoratorA, DecoratorC, CommandA>(af); auto ak =
|
||||
// structural::decorator::Command::generate<DecoratorB, DecoratorD,
|
||||
// DecoratorA, DecoratorC, DecoratorB, DecoratorD, DecoratorA, DecoratorC,
|
||||
// CommandA>();
|
||||
|
||||
std::cout << "----------------------\n";
|
||||
// a->execute();
|
||||
af->execute();
|
||||
// ag->execute();
|
||||
// ak->execute();
|
||||
|
||||
std::cout << "----------------------\n";
|
||||
// delete a;
|
||||
delete af;
|
||||
// delete ak;
|
||||
}
|
||||
Reference in New Issue
Block a user