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

C++ Discussion :

buffer circulaire (conteneur)


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 68
    Par défaut buffer circulaire (conteneur)
    Bonjour,

    Dans le cadre d'un projet de communication réseau, je voudrai créer un buffer circulaire pointant sur des objets de type standard (int, double).

    Je me pose la question si cela ne peut pas étre fait avec un conteneur.

    Merci pour votre aide

  2. #2
    Membre Expert
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par défaut
    Pas la peine de te fatiguer à réinventer la roue: cela existe déjà dans boost::circular_buffer !

    ce n'est qu'une sorte de dequeue modifiée il me semble.


    Bonne chance

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 68
    Par défaut
    merci pour ta réponse, juste une petite question en plus

    est il possible que quand le buffer soit plein, le prochaine valeur rentré effectue un décalage des données. un peu comme une pile.

    c'est à dire que l'on supprime la premiére valeur.
    que l'on décale ensuite toutes les autre.
    et que l'on rentre l'élément à la fin du buffer.

  4. #4
    Membre Expert
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par défaut
    En fait, on supprime la dernière valeur du buffer (la plus vielle) eton écrit la nouvelle à la place (puisque la position du premier élément correspond maintenant à la position du dernier).
    Ce mécanisme est également décrit dans la doc que je t'ai passé.

    D'une manière générale, je ne cois pas pouvoir en dire plus que la doc ...


    Bonne lecture

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 68
    Par défaut
    oui j'ai compris, mais n'existe il pas un moyen de faire ce que j'ai expliqué??

    merci

  6. #6
    Membre Expert
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par défaut
    je ne comprend pas très bien ce que tu veux faire ...

    tu veux dire que si le buffer est plein, on remplace la dernière valeur entrée par la nouvelle valeur c'est ça ?

    Ce n'est pas vraiment le mécanisme correct d'un buffer circulaire, mais on peux le faire. il suffit, au lieu d'insérer directemment, de vérifier avec la fonction full() si le buffer est plein, et si c'est le cas, de commencer par faire un rotate() sur l'itérator suivant celui renvoyé par begin() ce qui te permettra donc , lorsque tu inserera ensuite l'élément de faire en sorte que l'ex premier élément soit supprimé puisqu'il est à présent le dernier.


    Voilà voilà

    Bonne chance

Discussions similaires

  1. Buffer Circulaire C#
    Par apelleti dans le forum C#
    Réponses: 2
    Dernier message: 19/05/2008, 15h19
  2. Réponses: 12
    Dernier message: 27/03/2008, 22h01
  3. Liaison série, Buffer Circulaire ?
    Par innosang dans le forum Ubuntu
    Réponses: 2
    Dernier message: 26/12/2007, 21h52
  4. Cree un buffer circulaire
    Par caesarvanou dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 06/06/2006, 10h59
  5. buffer circulaire
    Par fumble dans le forum C
    Réponses: 34
    Dernier message: 10/03/2005, 08h51

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