Les implémentations évidentes ressemblerait à quelque chose comme ceci:
// warning: untested code:
template <class I1, class I2, class T>
T inline inner_product(I1 s1, I1 e1, I2 s2, T i) {
while (s1!=e1) {
i = i + ((*(s1)) * (*(s2)));
++(s1);
++(s2);
}
return i;
}
template <class I1, class I2, class T, class B1, class B2>
T inline inner_product(I1 s1, I1 e1, I2 s2, T i, B1 b1, B2 b2) {
while (s1!=e1) {
i=b1(i, b2(*(s1), *(s2)));
++(s1);
++(s2);
}
return i;
}
L'utilisation de ces identifiants courts est probablement discutable, mais pour le code comme celui-ci qui vit dans un en-tête afin ses compilé une fois gazillion, les identifiants courts de gagner du temps ... L'analyse syntaxique
Le lien est rompu. –
Aghh, fixé il ... – vehomzzz
Suis-je manque quelque chose, ou dit le troisième message (http://www.mail-archive.com/[email protected]/msg200159.html) que c'était patché? –