Add new tidy checks

Change-Id: Ibe7eb340603a6c5228997d314c20fe872e91fe58
Signed-off-by: Ed Tanous <ed@tanous.net>
diff --git a/.clang-tidy b/.clang-tidy
index 7a92985..303b7ce 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -2,19 +2,25 @@
 -*,
 boost-use-to-string,
 bugprone-argument-comment,
-bugprone-assignment-in-if-condition,
 bugprone-assert-side-effect,
+bugprone-assignment-in-if-condition,
 bugprone-bad-signal-to-kill-thread,
 bugprone-bool-pointer-implicit-conversion,
 bugprone-branch-clone,
+bugprone-casting-through-void,
+bugprone-chained-comparison,
+bugprone-compare-pointer-to-member-virtual-function,
 bugprone-copy-constructor-init,
 bugprone-dangling-handle,
 bugprone-dynamic-static-initializers,
+bugprone-empty-catch,
 bugprone-fold-init-type,
 bugprone-forward-declaration-namespace,
 bugprone-forwarding-reference-overload,
 bugprone-implicit-widening-of-multiplication-result,
 bugprone-inaccurate-erase,
+bugprone-inc-dec-in-conditions,
+bugprone-incorrect-enable-if,
 bugprone-incorrect-roundings,
 bugprone-infinite-loop,
 bugprone-integer-division,
@@ -25,36 +31,49 @@
 bugprone-misplaced-pointer-arithmetic-in-alloc,
 bugprone-misplaced-widening-cast,
 bugprone-move-forwarding-reference,
+bugprone-multi-level-implicit-pointer-conversion,
+bugprone-multiple-new-in-one-expression,
 bugprone-multiple-statement-macro,
 bugprone-optional-value-conversion,
 bugprone-no-escape,
+bugprone-non-zero-enum-to-bool-conversion,
 bugprone-not-null-terminated-result,
+bugprone-optional-value-conversion,
 bugprone-parent-virtual-call,
 bugprone-posix-return,
 bugprone-redundant-branch-condition,
 bugprone-reserved-identifier,
+bugprone-shared-ptr-array-mismatch,
 bugprone-signal-handler,
 bugprone-signed-char-misuse,
 bugprone-sizeof-container,
 bugprone-sizeof-expression,
 bugprone-spuriously-wake-up-functions,
+bugprone-standalone-empty,
 bugprone-string-constructor,
 bugprone-string-integer-assignment,
 bugprone-string-literal-with-embedded-nul,
+bugprone-stringview-nullptr,
 bugprone-suspicious-enum-usage,
 bugprone-suspicious-include,
+bugprone-suspicious-memory-comparison,
 bugprone-suspicious-memset-usage,
 bugprone-suspicious-missing-comma,
+bugprone-suspicious-realloc-usage,
 bugprone-suspicious-semicolon,
 bugprone-suspicious-string-compare,
 bugprone-swapped-arguments,
+bugprone-switch-missing-default-case,
 bugprone-terminating-continue,
 bugprone-throw-keyword-missing,
 bugprone-too-small-loop-variable,
+bugprone-unchecked-optional-access,
 bugprone-undefined-memory-manipulation,
 bugprone-undelegated-constructor,
 bugprone-unhandled-exception-at-new,
 bugprone-unhandled-self-assignment,
+bugprone-unique-ptr-array-mismatch,
+bugprone-unsafe-functions,
 bugprone-unused-local-non-trivial-variable,
 bugprone-unused-raii,
 bugprone-unused-return-value,
@@ -65,7 +84,9 @@
 cert-dcl03-c,
 cert-dcl16-c,
 cert-dcl21-cpp,
+cert-dcl37-c,
 cert-dcl50-cpp,
+cert-dcl51-cpp,
 cert-dcl54-cpp,
 cert-dcl58-cpp,
 cert-dcl59-cpp,
@@ -90,11 +111,14 @@
 cert-pos47-c,
 cert-sig30-c,
 cert-str34-c,
-clang-analyzer-apiModeling.StdCLibraryFunctions,
+clang-analyzer-apiModeling.Errno,
 clang-analyzer-apiModeling.TrustNonnull,
+clang-analyzer-apiModeling.TrustReturnsNonnull,
 clang-analyzer-apiModeling.google.GTest,
 clang-analyzer-apiModeling.llvm.CastValue,
 clang-analyzer-apiModeling.llvm.ReturnValue,
+clang-analyzer-core.BitwiseShift,
+clang-analyzer-core.CallAndMessage,
 clang-analyzer-core.CallAndMessageModeling,
 clang-analyzer-core.DivideZero,
 clang-analyzer-core.DynamicTypePropagation,
@@ -111,6 +135,7 @@
 clang-analyzer-core.uninitialized.Assign,
 clang-analyzer-core.uninitialized.Branch,
 clang-analyzer-core.uninitialized.CapturedBlockVariable,
+clang-analyzer-core.uninitialized.NewArraySize,
 clang-analyzer-core.uninitialized.UndefReturn,
 clang-analyzer-cplusplus.InnerPointer,
 clang-analyzer-cplusplus.Move,
@@ -120,6 +145,7 @@
 clang-analyzer-cplusplus.PureVirtualCall,
 clang-analyzer-cplusplus.SelfAssignment,
 clang-analyzer-cplusplus.SmartPtrModeling,
+clang-analyzer-cplusplus.StringChecker,
 clang-analyzer-cplusplus.VirtualCallModeling,
 clang-analyzer-deadcode.DeadStores,
 clang-analyzer-fuchsia.HandleChecker,
@@ -129,6 +155,7 @@
 clang-analyzer-nullability.NullableDereferenced,
 clang-analyzer-nullability.NullablePassedToNonnull,
 clang-analyzer-nullability.NullableReturnedFromNonnull,
+clang-analyzer-optin.core.EnumCastOutOfRange,
 clang-analyzer-optin.cplusplus.UninitializedObject,
 clang-analyzer-optin.cplusplus.VirtualCall,
 clang-analyzer-optin.mpi.MPI-Checker,
@@ -170,6 +197,7 @@
 clang-analyzer-osx.coreFoundation.containers.OutOfBounds,
 clang-analyzer-osx.coreFoundation.containers.PointerSizedValues,
 clang-analyzer-security.FloatLoopCounter,
+clang-analyzer-security.cert.env.InvalidPtr,
 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
 clang-analyzer-security.insecureAPI.SecuritySyntaxChecker,
 clang-analyzer-security.insecureAPI.UncheckedReturn,
@@ -186,9 +214,11 @@
 clang-analyzer-security.insecureAPI.vfork,
 clang-analyzer-unix.API,
 clang-analyzer-unix.DynamicMemoryModeling,
+clang-analyzer-unix.Errno,
 clang-analyzer-unix.Malloc,
 clang-analyzer-unix.MallocSizeof,
 clang-analyzer-unix.MismatchedDeallocator,
+clang-analyzer-unix.StdCLibraryFunctions,
 clang-analyzer-unix.Vfork,
 clang-analyzer-unix.cstring.BadSizeArg,
 clang-analyzer-unix.cstring.CStringModeling,
@@ -199,14 +229,24 @@
 clang-analyzer-valist.ValistBase,
 clang-analyzer-webkit.NoUncountedMemberChecker,
 clang-analyzer-webkit.RefCntblBaseVirtualDtor,
+clang-analyzer-webkit.UncountedLambdaCapturesChecker,
 cppcoreguidelines-avoid-c-arrays,
+cppcoreguidelines-avoid-capturing-lambda-coroutines,
 cppcoreguidelines-avoid-goto,
+cppcoreguidelines-avoid-reference-coroutine-parameters,
 cppcoreguidelines-c-copy-assignment-signature,
 cppcoreguidelines-explicit-virtual-functions,
 cppcoreguidelines-init-variables,
 cppcoreguidelines-interfaces-global-init,
+cppcoreguidelines-macro-to-enum,
 cppcoreguidelines-macro-usage,
+cppcoreguidelines-misleading-capture-default-by-value,
+cppcoreguidelines-missing-std-forward,
 cppcoreguidelines-no-malloc,
+cppcoreguidelines-no-suspend-with-lock,
+cppcoreguidelines-noexcept-destructor,
+cppcoreguidelines-noexcept-move-operations,
+cppcoreguidelines-noexcept-swap,
 cppcoreguidelines-prefer-member-initializer,
 cppcoreguidelines-pro-bounds-array-to-pointer-decay,
 cppcoreguidelines-pro-type-const-cast,
@@ -217,15 +257,25 @@
 cppcoreguidelines-pro-type-union-access,
 cppcoreguidelines-pro-type-vararg,
 cppcoreguidelines-rvalue-reference-param-not-moved,
+cppcoreguidelines-use-default-member-init,
+cppcoreguidelines-virtual-class-destructor,
 cppcoreguidelines-slicing,
 google-explicit-constructor,
+misc-coroutine-hostile-raii,
+misc-header-include-cycle,
 misc-include-cleaner,
+misc-misleading-bidirectional,
+misc-misleading-identifier,
 misc-misplaced-const,
+misc-new-delete-overloads,
+misc-non-copyable-objects,
 misc-redundant-expression,
 misc-static-assert,
 misc-throw-by-value-catch-by-reference,
 misc-unconventional-assign-operator,
 misc-uniqueptr-reset-release,
+misc-unused-alias-decls,
+misc-unused-parameters,
 misc-unused-using-decls,
 modernize-avoid-bind,
 modernize-deprecated-headers,
@@ -248,6 +298,8 @@
 modernize-use-noexcept,
 modernize-use-nullptr,
 modernize-use-override,
+modernize-use-starts-ends-with,
+modernize-use-std-numbers,
 modernize-use-transparent-functors,
 modernize-use-uncaught-exceptions,
 modernize-use-using,
@@ -261,18 +313,25 @@
 performance-move-constructor-init,
 performance-no-automatic-move,
 performance-no-int-to-ptr,
+performance-noexcept-destructor,
 performance-noexcept-move-constructor,
+performance-noexcept-swap,
 performance-trivially-destructible,
 performance-type-promotion-in-math-fn,
 performance-unnecessary-copy-initialization,
 performance-unnecessary-value-param,
 readability-avoid-const-params-in-decls,
+readability-avoid-nested-conditional-operator,
+readability-avoid-return-with-void-value,
+readability-avoid-unconditional-preprocessor-if,
 readability-braces-around-statements,
 readability-const-return-type,
+readability-container-contains,
 readability-container-data-pointer,
 readability-container-size-empty,
 readability-convert-member-functions-to-static,
 readability-delete-null-pointer,
+readability-duplicate-include,
 readability-deleted-default,
 readability-else-after-return,
 readability-function-size,
@@ -284,17 +343,21 @@
 readability-misleading-indentation,
 readability-misplaced-array-index,
 readability-named-parameter,
+readability-operators-representation,
 readability-non-const-parameter,
 readability-qualified-auto,
 readability-redundant-access-specifiers,
+readability-redundant-casting,
 readability-redundant-control-flow,
 readability-redundant-declaration,
 readability-redundant-function-ptr-dereference,
+readability-redundant-inline-specifier,
 readability-redundant-member-init,
 readability-redundant-preprocessor,
 readability-redundant-smartptr-get,
 readability-redundant-string-cstr,
 readability-redundant-string-init,
+readability-reference-to-constructed-temporary,
 readability-simplify-boolean-expr,
 readability-simplify-subscript-expr,
 readability-static-accessed-through-instance,
@@ -313,4 +376,5 @@
   - { key: readability-identifier-naming.ParameterCase, value: camelBack }
   - { key: readability-identifier-naming.NamespaceCase, value: lower_case }
   - { key: readability-identifier-naming.StructCase,    value: CamelCase  }
+  - { key: cppcoreguidelines-rvalue-reference-param-not-moved.IgnoreUnnamedParams, value: true }
   - { key: misc-include-cleaner.IgnoreHeaders, value: ((stdlib.h)|(nlohmann/json_fwd.hpp)|(boost/.*/src.hpp)|(boost/.*/detail/.*)|(nlohmann/detail/.*)|(stdio.h)|(ranges)|(bits/chrono.h)|(boost/system/error_code.hpp)) }