Je suis nouveau sur python, j'ai regardé boost python, et il semble très impressionnant. Cependant en passant par l'introduction je ne peux pas trouver des exemples où, le vecteur d'objets sont retournés comme python list/tuples.boost python supporte une fonction retournant un vecteur, par ref ou value?
i.e Prenons cet exemple, je veux exposer la classe X, Cont et toutes ses fonctions. peu critique étant un vecteur de retour des X ou des chaînes à python
class X {};
class Cont {
.....
// how can this be exposed using boost python
const std::vector<X>& const_ref_x_vec() const { return x_vec_;}
std::vector<X> value_x_vec() const { return x_vec;}
const std::vector<std::string>& const_ref_str_vec() const { return str_vec_;}
std::vector<std::string> value_str_vec() const { return str_vec_; }
...
private:
std::vector<X> x_vec_;
std::vector<std::string> str_vec_;
};
Ma tentative infructueuse à essayer d'exposer les fonctions comme const_ref_x_vec(), value_x_vec(), etc conduit juste des erreurs de compilation. De googling around Je n'ai vu aucun exemple supportant des vecteurs retournés par valeur ou référence. Est-ce encore possible avec boost python? y a-t-il des solutions de contournement? devrais-je utiliser SWIG pour ce cas?
Toute aide appréciée.
Avtar