* fix: warning: deleted member function should be public [modernize-use-equals-delete]
* fix: warning: variable has inline specifier but is implicitly inlined [readability-redundant-inline-specifier]
* fix: warning: enum uses a larger base type than necessary for its value set [performance-enum-size]
* fix: warning: initializer for member is redundant [readability-redundant-member-init]
* warning: parameter is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls]
The `popcnt` feature checks weren't actually checking the ISA feature
or cpuid. This caused an illegal instruction exception on x86 hardware
that doesn't support `popcnt` when compiled with MSVC.
Since MSVC doesn't support any x86 ISA defines, the only way to check
for `popcnt` is with cpuid. Since this is a tiny inline function,
dynamic dispatch is likley not worth it so just removing the MSVC
for `popcnt`. MSVC will now fallback to the generic implementation.