# clang tidy file installed by mrt_tools. Do not modify: This file will be overwritten.
Checks: >
  -*,
  mrt*,
  bugprone-*,
  -bugprone-exception-escape,
  clang-analyzer-apiModeling*,
  clang-analyzer-core*,
  -clang-analyzer-core.UndefinedBinaryOperatorResult,
  clang-analyzer-deadcode*,
  clang-analyzer-unix*,
  clang-analyzer-cplusplus*,
  -clang-analyzer-cplusplus.NewDelete,
  cppcoreguidelines-*,
  -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
  -cppcoreguidelines-owning-memory,
  -cppcoreguidelines-pro-type-vararg,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-avoid-c-arrays,
  google-explicit-constructor,
  google-global-names-in-headers,
  google-readability-namespace-comments,
  google-build-namespaces,
  performance-*,
  readability-*,
  -readability-uppercase-literal-suffix,
  -readability-magic-numbers,
  -readability-identifier-length,
  modernize-*,
  -modernize-use-trailing-return-type,
  -modernize-use-nodiscard,
  -modernize-concat-nested-namespaces,
  -modernize-avoid-c-arrays,
  misc-*,
  -misc-non-private-member-variables-in-classes
HeaderFilterRegex: '^(?!\/usr)(?!\/opt).*\/src\/.*'
AnalyzeTemporaryDtors: false
CheckOptions:
  ##############
  ### Google ###
  ##############
  - key:             google-readability-braces-around-statements.ShortStatementLines
    value:           '0'
  - key:             google-readability-namespace-comments.ShortNamespaceLines
    value:           '0'
  - key:             google-readability-namespace-comments.SpacesBeforeComments
    value:           '1'

  ######################
  ### Function Sizes ###
  ######################
  - key:             readability-function-size.BranchThreshold
    value:           '20'
  - key:             readability-function-size.LineThreshold
    value:           '200'
  - key:             readability-function-size.StatementThreshold
    value:           '400'

  #########################################
  ### Throw-By-Value-Catch-By-Reference ###
  #########################################
  - key:             misc-throw-by-value-catch-by-reference.CheckThrowTemporaries
    value:           '0'




  - key:             readability-identifier-naming.IgnoreFailedSplit
    value:           '0'

  ##########################################
  ### Identifier Naming Check: CamelCase ###
  ##########################################
  - key:             readability-identifier-naming.AbstractClassCase
    value:           CamelCase
  - key:             readability-identifier-naming.ClassCase
    value:           CamelCase
  - key:             readability-identifier-naming.ConstantCase
    value:           camelBack
  - key:             readability-identifier-naming.GlobalConstantCase
    value:           CamelCase
  - key:             readability-identifier-naming.ParameterPackCase
    value:           CamelCase
  - key:             readability-identifier-naming.ParameterPackSuffix
    value:           '_'
  - key:             readability-identifier-naming.StaticConstantCase
    value:           CamelCase
  - key:             readability-identifier-naming.StructCase
    value:           CamelCase
  - key:             readability-identifier-naming.TemplateParameterCase
    value:           CamelCase
  - key:             readability-identifier-naming.TemplateParameterSuffix
    value:           ''
  - key:             readability-identifier-naming.TemplateTemplateParameterCase
    value:           CamelCase
  - key:             readability-identifier-naming.TemplateTemplateParameterSuffix
    value:           ''
  - key:             readability-identifier-naming.TypeTemplateParameterCase
    value:           CamelCase
  - key:             readability-identifier-naming.TypeTemplateParameterSuffix
    value:           ''
  - key:             readability-identifier-naming.TypedefCase
    value:           CamelCase
  - key:             readability-identifier-naming.UnionCase
    value:           CamelCase
  - key:             readability-identifier-naming.ValueTemplateParameterCase
    value:           CamelCase
  - key:             readability-identifier-naming.ConstexprVariableCase
    value:           CamelCase
  - key:             readability-identifier-naming.EnumCase
    value:           CamelCase
  - key:             readability-identifier-naming.EnumConstantCase
    value:           CamelCase
  - key:             readability-identifier-naming.TypeAliasCase
    value:           CamelCase

  ##########################################
  ### Identifier Naming Check: camelBack ###
  ##########################################
  - key:             readability-identifier-naming.ClassConstantCase
    value:           camelBack
  - key:             readability-identifier-naming.ClassMemberCase
    value:           camelBack
  - key:             readability-identifier-naming.ClassMethodCase
    value:           camelBack
  - key:             readability-identifier-naming.ConstexprFunctionCase
    value:           camelBack
  - key:             readability-identifier-naming.ConstantMemberCase
    value:           camelBack
  - key:             readability-identifier-naming.ConstexprMethodCase
    value:           camelBack
  - key:             readability-identifier-naming.ConstantParameterCase
    value:           camelBack
  - key:             readability-identifier-naming.FunctionCase
    value:           camelBack
  - key:             readability-identifier-naming.GlobalFunctionCase
    value:           camelBack
  - key:             readability-identifier-naming.GlobalVariableCase
    value:           camelBack
  - key:             readability-identifier-naming.LocalConstantCase
    value:           camelBack
  - key:             readability-identifier-naming.LocalVariableCase
    value:           camelBack
  - key:             readability-identifier-naming.MemberCase
    value:           camelBack
  - key:             readability-identifier-naming.MethodCase
    value:           camelBack
  - key:             readability-identifier-naming.ParameterCase
    value:           camelBack
  - key:             readability-identifier-naming.PrivateMemberCase
    value:           camelBack
  - key:             readability-identifier-naming.PrivateMemberSuffix
    value:           '_'
  - key:             readability-identifier-naming.PrivateMethodCase
    value:           camelBack
  - key:             readability-identifier-naming.ProtectedMemberCase
    value:           camelBack
  - key:             readability-identifier-naming.ProtectedMethodCase
    value:           camelBack
  - key:             readability-identifier-naming.PublicMemberCase
    value:           camelBack
  - key:             readability-identifier-naming.PublicMethodCase
    value:           camelBack
  - key:             readability-identifier-naming.StaticVariableCase
    value:           camelBack
  - key:             readability-identifier-naming.VariableCase
    value:           camelBack
  - key:             readability-identifier-naming.VirtualMethodCase
    value:           camelBack

  ###########################################
  ### Identifier Naming Check: lower_case ###
  ###########################################
  - key:             readability-identifier-naming.NamespaceCase
    value:           lower_case
  - key:             readability-identifier-naming.InlineNamespaceCase
    value:           lower_case
    
  
  - key:             readability-identifier-naming.IgnoreMacros
    value:           1

