Extract _Bitmask_includes_any()
, _Bitmask_includes_all()
from _BITMASK_OPS
#2865
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The helper functions
_Bitmask_includes()
and_Bitmask_includes_all()
can be templates instead of being stamped out for every enum bitmask. These functions are used for only a few types.We need to add
_STD
qualification to callsites that are outsidenamespace std
, as we're no longer stamping out overloads in the global namespace.Also remove unnecessary comments (ignore whitespace to see this clearly).
Also rename
_Bitmask_includes()
to_Bitmask_includes_any()
for clarity.Found while implementing Standard Library Modules, but this was blocked until toolset update #2861 with the fix for internal VSO-1509503 "Standard Library Header Units: Deduplication interferes with ADL for global
operator&
".