Yes, they’re guaranteed to return equal in this case. The specific wording (from N4659, ยง[unord.req]/12) is:
Two unordered containers
a
andb
compare equal ifa.size() == b.size()
and, for every equivalent-key group[Ea1, Ea2)
obtained froma.equal_range(Ea1)
, there exists an equivalent-key group[Eb1, Eb2)
obtained fromb.equal_range(Ea1)
, such thatis_permutation(Ea1, Ea2, Eb1, Eb2)
returnstrue
.
So, as long as the keys (and associated values) in one are the same as the other (but possibly in a differently-permuted order), it will compare equal.