boost python suporta uma função retornando um vetor, por ref ou valor?

Eu sou novo no python, já olhei para o boost python e parece muito impressionante. No entanto, ao longo da introdução, não consigo encontrar nenhum exemplo de onde o vetor de objetos é retornado como lista / tuplas python.

Ou seja, pegue este exemplo, quero expor a classe X, Cont e todas as suas funções. bit crítico retornar um vetor de X ou string para 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_;
  };

Minha própria tentativa infrutífera de tentar expor funções como const_ref_x_vec (), value_x_vec (), etc, apenas leva a erros de compilação.

do Google, não vi nenhum exemplo que suporte vetores retornados por valor ou referência. Isso é possível com o python boost? existem soluções alternativas? devo usar SWIG para este caso?

Qualquer ajuda apreciada.

Avtar

questionAnswers(2)

yourAnswerToTheQuestion