Question, comment écrire un template robuste utilisant swap?
L'utiliser non qualifié ne fonctionne pas pour les classes qui n'ont
pas une définition adéquate dans leur namespace (parce que celle de
std convient a été spécialisé avec la permission de 17.4.3.1) et
l'utiliser qualifié ne fonctionne pas pour les classes templates de
l'utilisateur (qui ne peuvent pas mettre la surcharge nécessaire dans
std).
Il me semble qu'un using std::swap permet de résoudre le problème mais
j'aimerais bien être sûr.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gabriel Dos Reis
Jean-Marc Bourguet writes:
| Question, comment écrire un template robuste utilisant swap? | L'utiliser non qualifié ne fonctionne pas pour les classes qui n'ont | pas une définition adéquate dans leur namespace (parce que celle de | std convient a été spécialisé avec la permission de 17.4.3.1) et | l'utiliser qualifié ne fonctionne pas pour les classes templates de | l'utilisateur (qui ne peuvent pas mettre la surcharge nécessaire dans | std). | | Il me semble qu'un using std::swap permet de résoudre le problème mais | j'aimerais bien être sûr.
La déclaration d'utilisation apporte std::swap dans la portée et est ajoutée à la liste des déclarations de swap considérées pendant l'instantiation et la résolution de surcharge.
-- Gaby
Jean-Marc Bourguet <jm@bourguet.org> writes:
| Question, comment écrire un template robuste utilisant swap?
| L'utiliser non qualifié ne fonctionne pas pour les classes qui n'ont
| pas une définition adéquate dans leur namespace (parce que celle de
| std convient a été spécialisé avec la permission de 17.4.3.1) et
| l'utiliser qualifié ne fonctionne pas pour les classes templates de
| l'utilisateur (qui ne peuvent pas mettre la surcharge nécessaire dans
| std).
|
| Il me semble qu'un using std::swap permet de résoudre le problème mais
| j'aimerais bien être sûr.
La déclaration d'utilisation apporte std::swap dans la portée et est
ajoutée à la liste des déclarations de swap considérées pendant
l'instantiation et la résolution de surcharge.
| Question, comment écrire un template robuste utilisant swap? | L'utiliser non qualifié ne fonctionne pas pour les classes qui n'ont | pas une définition adéquate dans leur namespace (parce que celle de | std convient a été spécialisé avec la permission de 17.4.3.1) et | l'utiliser qualifié ne fonctionne pas pour les classes templates de | l'utilisateur (qui ne peuvent pas mettre la surcharge nécessaire dans | std). | | Il me semble qu'un using std::swap permet de résoudre le problème mais | j'aimerais bien être sûr.
La déclaration d'utilisation apporte std::swap dans la portée et est ajoutée à la liste des déclarations de swap considérées pendant l'instantiation et la résolution de surcharge.