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

Boost C++ Discussion :

[Boost MPL] Les integral sequence wrappers ?


Sujet :

Boost C++

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 51
    Points : 59
    Points
    59
    Par défaut [Boost MPL] Les integral sequence wrappers ?
    Bonsoir,

    Je découvre tout juste Boost MPL et j'ai déjà du mal à comprendre certaines choses.

    J'ai commencé le tutoriel (Tutorial: Metafunctions and Higher-Order Metaprogramming) par le début et donc par ce qui concerne l'analyse dimensionnelle.
    Je comprends à peu près comment ça marche mais là ou je bloque c'est quand ça parle de "integral sequence wrappers" (l'anglais ne m'aidant pas...)

    Pourquoi ce sont des "integral sequence wrappers" qui sont utilisées pour représenter des dimensions ?
    On utilise des boost::mpl::vector_c pour représenter les dimensions. Quels sont les avantages par rapport à un simple vector ?

    (Car j'ai l'impression que les "integral" et les "wrappers" sont souvent utilisés dans Boost MPL)

    Merci.

  2. #2
    En attente de confirmation mail

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Points : 3 311
    Points
    3 311
    Par défaut
    Bonsoir,

    Pouvez-vous donner le lien du tutorial ?

    On utilise des boost::mpl::vector_c pour représenter les dimensions. Quels sont les avantages par rapport à un simple vector ?
    mpl::vector_c est l'équivalent d'un std::vector<int> mais à la compilation, c'est tout l'objectif de MPL, créer l'équivalent à la compilation de ce qui peut exister à l’exécution.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 51
    Points : 59
    Points
    59
    Par défaut
    Bonjour,

    Oui voilà le lien du tuto (c'est celui de la doc) : http://www.boost.org/doc/libs/1_52_0...imensions.html


    mpl::vector_c est l'équivalent d'un std::vector<int> mais à la compilation, c'est tout l'objectif de MPL, créer l'équivalent à la compilation de ce qui peut exister à l’exécution.
    Ah d'accord je comprends mieux. Après tout c'est vrai que boost mpl est une bibliothèque pour la métaprogrammation.
    Cela permet de faire de l'analyse dimensionnelle à la compilation.

    Et le reste (integral sequence wrappers, int_<N>, etc...) c'est ce qui est utilisé en interne par la bibliothèque pour permettre d'utiliser des vectors à la compilation (vector_c) ?

  4. #4
    En attente de confirmation mail

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Points : 3 311
    Points
    3 311
    Par défaut
    Cela permet de faire de l'analyse dimensionnelle à la compilation.
    Oui, enfin c'est qu'un exemple, on peut en trouver d'autre.

    Et le reste (integral sequence wrappers, int_<N>, etc...) c'est ce qui est utilisé en interne par la bibliothèque pour permettre d'utiliser des vectors à la compilation (vector_c) ?
    vector_c c'est "juste" un raccourci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mpl::vector_c<T,a,b,c,d> = mpl::vector<mpl::integral_c<T,a>,mpl::integral_c<T,b>,mpl::integral_c<T,b>,mpl::integral_c<T,b>>
    De la même manière, int_ est un "raccourci" pour (*) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mpl::int_<a> = mpl::integral_c<int,a>
    (*) C'est pas écrit en tant que raccourci dans le "code", mais c'est sémantiquement équivalent.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 51
    Points : 59
    Points
    59
    Par défaut
    D'accord c'est en fait plein de raccourcis qui facilitent le code. Il faut que je lise la doc en même temps.

    Merci pour la réponse.

  6. #6
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Citation Envoyé par SalutAVous Voir le message
    Il faut que je lise la doc en même temps.
    Encore mieux, il faut que tu lises la doc AVANT.
    Ce n'est pas pour rien que tu passes ton permis avant de conduire, ou que tu apprends à marcher avant de faire du vélo…
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 51
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par leternel Voir le message
    Encore mieux, il faut que tu lises la doc AVANT.
    Ce n'est pas pour rien que tu passes ton permis avant de conduire, ou que tu apprends à marcher avant de faire du vélo…

    C'est vrai. En général je préfère faire des tutos avant d'attaquer la doc, histoire de ne pas trop être "dépaysé". Mais en fait c'est pas toujours la meilleure façon de faire.
    Merci.

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

Discussions similaires

  1. fichiers ressources - comment les integrer
    Par pilomption dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/06/2007, 12h34
  2. pas de partie "boost" dans les tutos
    Par zais_ethael dans le forum Boost
    Réponses: 2
    Dernier message: 19/08/2006, 15h28
  3. Boost et les Threads
    Par TuRn3r dans le forum Bibliothèques
    Réponses: 6
    Dernier message: 10/05/2006, 10h50
  4. Réponses: 2
    Dernier message: 19/02/2006, 12h22
  5. Réponses: 15
    Dernier message: 16/11/2005, 16h25

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