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 :

Utiliser des TypeList, hérarchies dans une librairie


Sujet :

C++

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut Utiliser des TypeList, hérarchies dans une librairie
    Bonjour à tous,


    Je suis en train de faire une librairie statique qui gère des objets. Le gestionnaire principale possède une hiérarchie éparpillé regroupant les types de l'utilisateur qu'il a à gérer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    typedef TTYPELIST_2(Client, Voiture) TList;
     
    template <class T>
    struct SGesHolder
    {
        CGesData<T> Ges;
    };
     
    class CGesManager : public CScatteredHierarchy<TList, SGesHolder>
    {
     
    };
    Mon souci est que la liste, c'est l'utilisateur qui doit la construire, les objets métiers n'ont rien à faire là.

    Comment puis-je gérer ça proprement ?


    Merci,

    A bientôt

  2. #2
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 861
    Points
    11 861
    Par défaut
    Tu crées une TypeList vide dans un header obligatoirement inclus par les utilisateurs de ta bibliothèque.

    Tu fournis une macro REGISTER_TYPE(LeType, TaTypeList) qui rajoute LeType à TaTypeList. Par contre, le petit soucis c'est de spécifier le nom de la typelist. Tu peux t'en sortir sans mais ça t'oblige à passer par une seule et unique typelist, et ainsi impossibilité d'utiliser REGISTER_TYPE pour une autre typelist dans le projet.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut
    Ok je vois, merci beaucoup.

    Le coeur du soucis c'est que je ne sais pas si c'est possible d'avoir une liste puis de l'alimenter et non d'en en déduire une nouvelle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    typedef SNullType TGesList; // La liste vide
    TGesList = SPushBack<CCustomer, TGesList>::TResult; // par l'utilisateur
    Ca c'est pas possible, le compilateur me dit
    error C2513: 'SNullType'*: aucune variable déclarée avant '='

  4. #4
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 861
    Points
    11 861
    Par défaut
    Non tu ne peux pas. L'astuce c'est généralement de donner des noms incrémentaux, puis de faire un typedef sur le nouveau nom, il me semble.
    Genre tu as TL1, TL2, TL3, TL4, ... Et tu fais à chaque fois un nouveau typedef dessus vers un type TypeList. Je crois qu'on peut bricoler quelque chose de ce genre.

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/12/2007, 10h35
  2. Réponses: 2
    Dernier message: 16/11/2007, 13h39
  3. Réponses: 4
    Dernier message: 03/10/2007, 12h59
  4. Utiliser des objets SWING dans une vue RCP
    Par manuga72 dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 20/10/2006, 17h26
  5. Utilisation des fichiers CSS dans une application Struts
    Par menzlitsh dans le forum Struts 1
    Réponses: 4
    Dernier message: 22/09/2006, 16h29

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