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.Python] shared_ptr<const T>


Sujet :

Boost C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 46
    Par défaut [Boost.Python] shared_ptr<const T>
    Bonjour tout le monde !

    J'utilise Boost.Python pour wrapper une bibliotheque C++. Pour l'exemple, la classe est triviale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // Classe.h
    class Classe
    {
        public:
            Classe();
    };
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // Classe.cpp
    Classe::Classe()
    {
    }
    Pour wrapper cette classe, la section Boost.Python est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    class_< Classe >( "Classe" )
    ;
     
    register_ptr_to_python< boost::shared_ptr<Classe> >();
    ...
    Je voudrais pouvoir utiliser des shared_ptr<const Classe>, mais je ne peux pas le faire via register_ptr_to_python< boost::shared_ptr<const Classe> >(); sous peine d'erreur de compilation : une conversion malheureuse est tentee dans pointer_holder.hpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    .../pointer_holder.hpp:138: error: invalid conversion from `const void*'
    to `void*'
    ...
    Est-ce que vous savez comment utiliser des shared_ptr<const T> dans Boost.Python ?

    Merci beaucoup !

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Tout cela me semble bien spécifique à boost.python, tu ferais mieux de poser ta question sur un forum dédié, comme par exemple gmane.comp.python.c++
    Malheureusement il me semble qu'une question similaire ait été posée et qu'il n'y ait pas eu de réponse...

    Vu que boost.python est construit au-dessus de CPython et que CPython gère tout avec des void*, le problème doit venir de là.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 46
    Par défaut
    C'est a cause du manque de reponse sur ce forum que j'ai tente de poster ici. J'ai repose grosso-modo la meme reponse vendredi, et je n'ai pas de reponse... Je ne sais pas si c'est parceque c'est une question de 100% newbie ou parcequ'il n'y a vraiment pas de reponse...

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/04/2008, 12h00
  2. Imiter Boost.Python pour OCaml
    Par HanLee dans le forum C++
    Réponses: 0
    Dernier message: 04/01/2008, 12h34
  3. Réponses: 0
    Dernier message: 30/10/2007, 01h50
  4. [BOOST]Comment utiliser la lib boost.python
    Par Invité dans le forum Bibliothèques
    Réponses: 6
    Dernier message: 30/01/2006, 11h35

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