Как экспортировать объект C++ в R обратно в C++?

StackOverflow https://stackoverflow.com//questions/12691710

  •  12-12-2019
  •  | 
  •  

Вопрос

В приведенном ниже примере у меня нет проблем с экспортом обычного метода C++ в R, используя RCPP_MODULE кроме метода clone это приводит к сбою компиляции.

struct C
{
    void clone(C* other)
    {
         *this = *other;
    }
};

#include <Rcpp.h>
using namespace Rcpp;

RCPP_MODULE(mod){
    class_<C>("C")
        .method("clone", &C::clone)
        ;
};

Как экспортировать clone чтобы я мог ссылаться на другой класс C++, созданный в R?

Это было полезно?

Решение

Следующее работает с разрабатываемой версией Rcpp.Видеть Эта статья в моем блоге.

#include <Rcpp.h>
using namespace Rcpp;

RCPP_EXPOSED_CLASS(C)

struct C
{
    void clone(const C& other)
    {
         *this = other;
    }
};

RCPP_MODULE(play){
    class_<C>("C")
        .method("clone", &C::clone)
        ;
};

Другие советы

Существует метод Rcpp, называемый клонированием, поэтому попробуйте переименовать свой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top