template<typename T, typename C>
void push_sorted (std::list<T> & storage, T item, C compare)
{
- typename std::list<T>::iterator it =
- std::find_if (storage.begin (), storage.end (),
- std::bind1st (compare, item));
- if (it != storage.end ())
- storage.insert (it, item);
- else
- storage.push_back (item);
+ storage.insert (std::find_if (storage.begin (), storage.end (),
+ std::bind1st (compare, item)),
+ item);
+
}
}