IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SL & STL C++ Discussion :

Tester la validité d'un itérateur ?


Sujet :

SL & STL C++

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Par défaut Tester la validité d'un itérateur ?
    Bonjour,

    Je parle ici de la STL.
    Je dispose d'une interface abstraite me permettant d'instancier des classes qui possèdent une seule méthode : Publish(std::map<...>::const_iterator, std::string).

    Donc dans cette méthode je ne récupère qu'un itérateur constant sur une collection, et la chaine de caracètre me disant dans quel fichier faire ma publication (il s'agit de générer des fichiers txt contenant des recherches).

    Ma question est la suivante :
    Comment tester en entrée de fonction la validité de mon itérateur ? Si par exemple la méthode appelante de cette classe me fournit un itérateur sur conteneur vide ? De plus, comment itérer jusqu'à la fin sur les différents éléments du conteneur.

    On a pour habitude d'itérer tant qu'on arrive pas a la fin du conteneur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while( mon_iterateur != mon_conteneur.end() )
    {
     .... traitement
    }
    Mais ici je ne dispose pas du conteneur en interface.
    Merci pour votre aide.
    A plus.
    Alex.

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Tu ne peux pas, tu dois avoir l'itérateur de fin pour t'en sortir.

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Par défaut
    Hummmm, merci. Pour le coup c'est pas hyper pratique !

    Snif...

    Je pensais qu'on pouvais tester la validité ;(

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par Muetdhiver Voir le message
    Je pensais qu'on pouvais tester la validité ;(
    Chaque itérateur devrait contenir un iétaretru de début et fin et là, c'est pas optimal du tout.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] Comment tester la validité d'une date ?
    Par Zefree dans le forum ASP.NET
    Réponses: 5
    Dernier message: 15/12/2012, 15h49
  2. Comment tester la validité d'une adresse mail
    Par jmoez dans le forum Oracle
    Réponses: 1
    Dernier message: 19/04/2006, 13h00
  3. [pointeur] Tester la validité
    Par Luffy Duck dans le forum C++
    Réponses: 13
    Dernier message: 16/01/2006, 17h39
  4. Comment tester la validité d'un répertoire?
    Par Gabrielly dans le forum MFC
    Réponses: 5
    Dernier message: 25/02/2005, 11h13
  5. [web] tester la validiter d'une URL
    Par zebiloute dans le forum Web
    Réponses: 4
    Dernier message: 25/11/2002, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo