under the equivalence relation defined by owner_­before,
!a.owner_­before(b)&&!b.owner_­before(a), two shared_­ptr or
weak_­ptr instances are equivalent if and only if they share ownership or are
both empty.