diff --git a/taglib/toolkit/tlist.h b/taglib/toolkit/tlist.h index dcd95b0c..51fb8576 100644 --- a/taglib/toolkit/tlist.h +++ b/taglib/toolkit/tlist.h @@ -204,17 +204,20 @@ namespace TagLib { /*! * Find the first occurrence of \a value. */ - Iterator find(const T &value); + template + Iterator find(const U &value); /*! * Find the first occurrence of \a value. */ - ConstIterator find(const T &value) const; + template + ConstIterator find(const U &value) const; /*! * Returns true if the list contains \a value. */ - bool contains(const T &value) const; + template + bool contains(const U &value) const; /*! * Erase the item at \a it from the list. diff --git a/taglib/toolkit/tlist.tcc b/taglib/toolkit/tlist.tcc index 85d0ca72..17dc642b 100644 --- a/taglib/toolkit/tlist.tcc +++ b/taglib/toolkit/tlist.tcc @@ -281,19 +281,22 @@ bool List::isEmpty() const } template -typename List::Iterator List::find(const T &value) +template +typename List::Iterator List::find(const U &value) { return std::find(d->list.begin(), d->list.end(), value); } template -typename List::ConstIterator List::find(const T &value) const +template +typename List::ConstIterator List::find(const U &value) const { return std::find(d->list.begin(), d->list.end(), value); } template -bool List::contains(const T &value) const +template +bool List::contains(const U &value) const { return std::find(d->list.begin(), d->list.end(), value) != d->list.end(); }