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(); };Pour wrapper cette classe, la section Boost.Python est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // Classe.cpp Classe::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
6
7 ... class_< Classe >( "Classe" ) ; register_ptr_to_python< boost::shared_ptr<Classe> >(); ...
Est-ce que vous savez comment utiliser des shared_ptr<const T> dans Boost.Python ?
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*' ...
Merci beaucoup !
Partager