Extraire tous les k de tous les éléments <i,j,k> d'une std::map
Bonjour,
Voici le problème! J'ai un std::map dont je souhaiterais extraire certaines valeurs. Sa clé principale est de la forme <i,j,k> tandis que la valeur qui lui est associée est de type booléenne.
Je souhaiterais extraire de ce std::map, tous les triplets <i,j, * > avec i,j constant.
Code:
1 2 3 4 5 6 7 8
| Exemple:
...
<1,2,4>, true
<1,3,2>, true
<1,3,5>, false
<1,3,12>, true
<2,5,0>,true
... |
Je souhaiterias extraire les triplets <1,3,*>. Je devrais donc obtenir la liste:
2 (true), 5(false), 12(true). Pour simplifier le problème, je ne suis pas intéressé par les valeurs booléennes pour le moment.
Voici le code que j'ai tenté d'écrire!
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
struct triple_type{ int i; int j; int k;};
int i=1;
int j=3;
bool continue=true;
std::vector<I> list;
do
{
std::map<triple_type, bool, ...>::const_iterator iter = data_->find(triple_type(i,j,???); //incomplet!!!
if(iter != data_->end()) list.push_back(iter->first.k); // we found it
else continue = false;
///if (iter->first.i == i && iter->first.j == k)
}
while(continue); |
Soit ça marche pas, je patauge complètement :)
Je vous remercie par avance.
Cordialement,
Rodrigue