Fix compiles on Windows 10 caused by missing GroupMasks / GroupCount members in the cache relationship structure.
Provide a safe fallback to the older Windows 10 struct layout so L3 cache domain detection works on both Windows 10 and Windows 11.
Avoid functional changes while making the code resilient to platform struct differences.
Description
Add #include <type_traits> to enable SFINAE-based detection of Cache.GroupCount in the logical processor info struct.
Introduce HasGroupCount type-trait and two overloads of readCacheMembers that select the correct member access pattern depending on presence of GroupCount.
Use readCacheMembers(info, is_cpu_allowed) to populate L3Domain::cpus instead of directly accessing info->Cache.GroupCount / GroupMasks.
Keep behavior unchanged for systems where the newer members exist while falling back to the Windows 10 GroupMask layout when needed.
Testing
Attempted to run make -j2 to build, but it failed because there is no Makefile in this repository, so no full build/test was executed.
No automated unit tests were executed as part of this change in the current environment.
Static checks (searches/inspections) were used to verify the new helper is referenced where the old members were accessed and the file compiles locally with the added includes in environments that provide a build system.
Upstream patch indicates “No functional change” for this fix (informational only).