Bonjour,

Je suis en train d'�crire un petit programme qui (entre autres) utilisent deux classes.

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
class Film {
 
private :
   int ordreSortie;
}
 
class Franchise {
 
private :
   conteneur<Film*> films;
}
J'ai besoin d'un attribut dans Franchise pour contenir tous les Films :
- Je veux que les Films soient ordonn�es en fonction de leur attribut ordreSortie -> Donc pas de std::vector
- Je n'ai pas besoin d'acc�der aux films autrement que s�quentiellement (parcourir tous les films dans l'ordre) -> Donc pas besoin de std::map
Donc je suis parti pour utiliser un std::set

J'aimerais ne pas surcharger l'op�rateur < parce que conceptuellement, j'ai envie de les hi�rarchiser d'une autre mani�re. C'est uniquement dans ce std::set que l'ordre de sortie sert � les classer.

Du coup, je voulais utiliser une sorte de lambda expression comme comparateur :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
set<Film*, [](Film* f1, Film* f2){return f1->getOrder() < f2->getOrdre();}>
J'ai trouv� plusieurs r�sultats sur Internet (https://stackoverflow.com/questions/...set-comparator) du genre :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
auto cmp = [](Film* a, Film* b) { return ... };
std::set<int, decltype(cmp)> s(cmp);
Le probl�me, c'est que je ne vois pas comment le faire marcher dans la d�finition de ma classe (franchise.h).

Est ce que c'est possible ?

Merci d'avance !