---
Checks:           '-*,
                  bugprone-incorrect-roundings,
                  bugprone-integer-division,
                  bugprone-parent-virtual-call,
                  bugprone-sizeof-container,
                  bugprone-string-constructor,
                  bugprone-string-integer-assignment,
                  bugprone-suspicious-enum-usage,
                  bugprone-suspicious-missing-comma,
                  bugprone-terminating-continue,
                  bugprone-too-small-loop-variable,
                  bugprone-unused-raii,
                  bugprone-use-after-move,
                  bugprone-virtual-near-miss,
                  modernize-avoid-bind,
                  modernize-avoid-c-arrays,
                  modernize-deprecated-headers,
                  modernize-deprecated-ios-base-aliases,
                  modernize-loop-convert,
                  modernize-make-shared,
                  modernize-make-unique,
                  modernize-redundant-void-arg,
                  modernize-return-braced-init-list,
                  modernize-shrink-to-fit,
                  modernize-use-auto,
                  modernize-use-bool-literals,
                  modernize-use-equals-default,
                  modernize-use-equals-delete,
                  modernize-use-noexcept,
                  modernize-use-nullptr,
                  modernize-use-override,
                  modernize-use-using,
                  performance-faster-string-find,
                  performance-for-range-copy,
                  performance-implicit-conversion-in-loop,
                  performance-inefficient-algorithm,
                  performance-inefficient-string-concatenation,
                  performance-move-const-arg,
                  performance-type-promotion-in-math-fn,
                  performance-unnecessary-copy-initialization,
                  performance-unnecessary-value-param,
                  readability-braces-around-statements,
                  readability-const-return-type,
                  readability-container-size-empty,
                  readability-delete-null-pointer,
                  readability-else-after-return,
                  readability-implicit-bool-conversion,
                  readability-inconsistent-declaration-parameter-name,
                  readability-misleading-indentation,
                  readability-non-const-parameter,
                  readability-redundant-control-flow,
                  readability-redundant-declaration,
                  readability-redundant-function-ptr-dereference,
                  readability-redundant-member-init,
                  readability-redundant-preprocessor,
                  readability-redundant-smartptr-get,
                  readability-redundant-string-cstr,
                  readability-redundant-string-init,
                  readability-simplify-boolean-expr,
                  readability-simplify-subscript-expr,
                  readability-static-accessed-through-instance,
                  readability-string-compare,
                  readability-uniqueptr-delete-release,
                  readability-uppercase-literal-suffix,
                  readability-identifier-naming,
                  cppcoreguidelines-c-copy-assignment-signature,
                  cppcoreguidelines-interfaces-global-init,
                  cppcoreguidelines-no-malloc,
                  # cppcoreguidelines-pro-type-const-cast,
                  cppcoreguidelines-pro-type-cstyle-cast,
                  cppcoreguidelines-pro-type-member-init,
                  # cppcoreguidelines-pro-type-reinterpret-cast,
                  cppcoreguidelines-pro-type-static-cast-downcast,
                  cppcoreguidelines-pro-type-union-access,
                  cppcoreguidelines-slicing,
                  cppcoreguidelines-special-member-functions,
                  hicpp-exception-baseclass,
                  hicpp-explicit-conversions,
                  hicpp-new-delete-operators,
                  hicpp-no-assembler,
                  hicpp-noexcept-move,
                  # hicpp-signed-bitwise,
                  hicpp-static-assert,
                  hicpp-undelegated-constructor'
WarningsAsErrors: '*'
HeaderFilterRegex: ''
AnalyzeTemporaryDtors: false
FormatStyle:     none
CheckOptions:
    - key:             readability-inconsistent-declaration-parameter-name.Strict
      value:           '1'
    - key:             readability-identifier-naming.AbstractClassCase
      value:           CamelCase
    - key:             readability-identifier-naming.ClassCase
      value:           CamelCase
    - key:             readability-identifier-naming.ClassConstantCase
      value:           CamelCase
    - key:             readability-identifier-naming.ClassMemberCase
      value:           lower_case
    - key:             readability-identifier-naming.ClassMethodCase
      value:           camelBack
    - key:             readability-identifier-naming.ConstantCase
      value:           UPPER_CASE
    - key:             readability-identifier-naming.ConstexprFunctionCase
      value:           camelBack
    - key:             readability-identifier-naming.ConstexprMethodCase
      value:           camelBack
    - key:             readability-identifier-naming.ConstexprVariableCase
      value:           UPPER_CASE
    - key:             readability-identifier-naming.EnumCase
      value:           CamelCase
    - key:             readability-identifier-naming.EnumConstantCase
      value:           UPPER_CASE
    - key:             readability-identifier-naming.FunctionCase
      value:           camelBack
    - key:             readability-identifier-naming.GlobalConstantCase
      value:           UPPER_CASE
    - key:             readability-identifier-naming.GlobalFunctionCase
      value:           camelBack
    - key:             readability-identifier-naming.GlobalVariableCase
      value:           lower_case
    - key:             readability-identifier-naming.InlineNamespaceCase
      value:           lower_case
    - key:             readability-identifier-naming.LocalConstantCase
      value:           lower_case
    - key:             readability-identifier-naming.LocalVariableCase
      value:           lower_case
    - key:             readability-identifier-naming.PrivateMemberSuffix
      value:           '_'
    - key:             readability-identifier-naming.ProtectedMemberSuffix
      value:           '_'
    - key:             readability-identifier-naming.ClassMemberCase
      value:           lower_case
    - key:             readability-identifier-naming.MethodCase
      value:           camelBack
    - key:             readability-identifier-naming.NamespaceCase
      value:           lower_case
    - key:             readability-identifier-naming.ParameterCase
      value:           lower_case
    - key:             readability-identifier-naming.ConstantParameterCase
      value:           lower_case
    - key:             readability-identifier-naming.ParameterPackCase
      value:           lower_case
    - key:             readability-identifier-naming.StaticConstantCase
      value:           UPPER_CASE
    - key:             readability-identifier-naming.StaticVariableCase
      value:           lower_case
    - key:             readability-identifier-naming.StructCase
      value:           CamelCase
#    - key:             readability-identifier-naming.TemplateParameterCase
#      value:           CamelCase
#    - key:             readability-identifier-naming.TypeTemplateParameterCase
#      value:           CamelCase
    - key:             readability-identifier-naming.TypedefCase
      value:           CamelCase
    - key:             readability-identifier-naming.ValueTemplateParameterCase
      value:           CamelCase
    - key:             readability-identifier-naming.UnionCase
      value:           CamelCase
    - key:             readability-identifier-naming.VariableCase
      value:           lower_case
    - key:             readability-identifier-naming.VirtualMethodCase
      value:           camelBack
    - key:             readability-identifier-naming.IgnoreFailedSplit
      value:           '0'
...
