[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:
1 2 3 4 5 6 7
|
// Classe.h
class Classe
{
public:
Classe();
}; |
Code:
1 2 3 4 5
|
// Classe.cpp
Classe::Classe()
{
} |
Pour wrapper cette classe, la section Boost.Python est :
Code:
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:
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 !