0
Je veux trouver tous les tuples dans:Recherche binaire pour un tuple avec une valeur d'élément donné en C++
vector<tuple<int,int>> tuples; //already sorted
qui évaluent la proposition suivante à "true":
(get<0>(tuple) == val)
Je suis essayer d'utiliser la fonction equal_range pour obtenir une gamme:
equal_range (tuples.begin(), tuples.end(), val);
Comment puis-je exprimer « val » correctement pour la comparaison de la valeur pour arriver dans le premier el ement des tuples?
Il y a une surcharge de 'std :: equal_range' que [prend un comparateur] (http://en.cppreference.com/w/cpp/algorithm/equal_range) (prédicat binaire), donc vous pouvez lui passer un lambda ou un foncteur qui compare le 'std :: get <0>' de votre tuple – CoryKramer