fonction template et iterator
Bonjour,
J'aimerais créer une fonction template prenant un iterator de début et un iterator de fin. Jusqu'a la rien de bien compliqué mais j'aimerais aussi pouvoir fournir en paramètre des pointeurs représentant un tableau.
Je m'explique:
Code:
1 2 3 4 5 6
|
template<typename iter> bool find(iter beg,iter end,int value)
{
//doit pouvoir fonctionner sur les vector entier, les set, ...
return true;
} |
Code:
1 2 3
|
vector<int> tab1;
bool b1=find(tab1.begin(),tab1.end(),5); |
Mais j'aimerais également pouvoir faire:
Code:
1 2 3
|
int tab2[]={2,3,4};
bool b2=find(tab2,tab2+3,5); //ne marche évidement pas: iter is anbiguous |
Comme cela ce fait avec les fonctions sort, random_suffle et autre de la STL.
A moins que je me plante et qu'il y ait plusieurs définition de std::sort (1 pour les std containers et 1 pour les tableaux) sinon quelque chose m'échappe.