<xstd/bits/bit_algorithm/bit_set_union.hpp>, <xstd/bits/bit_algorithm/bit_set_intersection.hpp>, <xstd/bits/bit_algorithm/bit_set_difference.hpp>, <xstd/bits/bit_algorithm/bit_set_symmetric_difference.hpp>¶
bit_set_union, bit_set_intersection, bit_set_difference, bit_set_symmetric_difference¶
As ranges::set_union, ranges::set_intersection, ranges::set_difference and
ranges::set_symmetric_difference in [set.union],
[set.intersection],
[set.difference] and
[set.symmetric.difference], returning the set rather than
writing through an output iterator, with:
- Constraints:
Sis a set of ours whose operator|,&,-or^respectively answers anS: an owner. A view, which has no result to hold, is turned away.s2converts toS, as forbit_includes. - Returns:
s1 | s2,s1 & s2,s1 - s2ands1 ^ s2: the set that range-v3'sviews::set_union(s1, s2, s1.key_comp())and its siblings would hold, of the first argument's type, whatever widths held the keys. - Complexity: That of the operator.
- Remarks: The exception specification is
noexcept(declval<const S&>() | declval<const S&>()), with the operator each one calls.