Non è documentato (and it's a mistake, I think), ma in è possibile specializzare la funzione modello qMapLessThanKey
per i tipi (vedere the source). Ciò consentirà il vostro tipo di usare qualche altra funzione piuttosto che operator<
:
template<> bool qMapLessThanKey<int>(const int &key1, const int &key2)
{
return key1 > key2; // sort by operator> !
}
Tuttavia, std :: map ha il vantaggio che è possibile specificare un comparatore diverso per ogni mappa, mentre qui non è possibile (tutte le mappe che usano il tuo tipo devono vedere quella specializzazione, o tutto andrà a pezzi).