Hello,

I'm trying to expose 2 classes from a Rcpp module:

class Portfolio{
  private:
     std::string portfolioId, description;
  public:
      Portfolio(std::string portfolioId, std::string description)
      : portfolioId(portfolioId), description(description) {}

      std::string getPortfolioId() {return portfolioId;} const
void setPortfolioId(const std::string&) {this->portfolioId = portfolioId;}

      std::string getDescription() {return description;} const
void setDescription(const std::string& description){this->description = description;}
};

class PortfolioDataAccess{
    private:
    mongo::DBClientConnection c;

    public:
    PortfolioDataAccess();
    virtual Portfolio read(std::string portfolioId);
    virtual void create(std::string portfolioId, std::string description);

  };




RCPP_MODULE(riskceteraPortfolio) {
  class_<riskcetera::Portfolio>( "Portfolio" )
  .constructor<std::string, std::string>()
  .method("id", &riskcetera::Portfolio::getPortfolioId)
  .method("description", &riskcetera::Portfolio::getDescription)
  ;

class_<riskcetera::PortfolioDataAccess>("PortfolioAccess")
  .constructor()
  .method("read", &riskcetera::PortfolioDataAccess::read)
  ;
}

When trying to compile the module I get the following error:

/riskcetera/home/aludin/R/x86_64-pc-linux-gnu-library/3.0/Rcpp/include/Rcpp/internal/wrap.h:474:7:
 error: no viable conversion from 'const riskcetera::Portfolio' to 'SEXP' (aka 
'SEXPREC *')
        SEXP x = object ;







_______________________________________________
Rcpp-devel mailing list
[email protected]
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to