Add Song() != operator

This commit is contained in:
Jonas Kvinge 2019-07-30 21:31:26 +02:00
parent 0d424aa81e
commit 955b906b52
2 changed files with 5 additions and 0 deletions

View File

@ -1357,6 +1357,10 @@ bool Song::operator==(const Song &other) const {
return url() == other.url() && beginning_nanosec() == other.beginning_nanosec();
}
bool Song::operator!=(const Song &other) const {
return id() != other.id() || url() != other.url() || beginning_nanosec() != other.beginning_nanosec();
}
uint qHash(const Song &song) {
// Should compare the same fields as operator==
return qHash(song.url().toString()) ^ qHash(song.beginning_nanosec());

View File

@ -342,6 +342,7 @@ class Song {
bool IsSimilar(const Song &other) const;
bool operator==(const Song &other) const;
bool operator!=(const Song &other) const;
// Two songs that are on the same album will have the same AlbumKey.
// It is more efficient to use IsOnSameAlbum, but this function can be used when you need to hash the key to do fast lookups.