Rcpp_Modules:使用正式的R参数公开类方法

时间:2015-11-09 23:28:32

标签: c++ r rcpp

Rcpp-Modules vignette解释了如何通过在自由函数的函数指针之后传递Rcpp::List来提供正式的参数规范。是否有任何API为类方法提供命名和/或默认参数?显然,相同的“功能”技术不适用于此:

RCPP_MODULE(TestModule) {
  class_<TestClass>( "TestClass" )
  .constructor()
  .method( "method", &TestClass::method, 
            List::create(_["arg"])) //DOESN'T COMPILE
  ;
}

关于这个主题(herehere)有几个讨论,但第一个提供的解决方案归结为使用全局函数,第二个涉及额外的R包装函数层以提供参数规格。这有什么简洁的方法/解决方法吗?

1 个答案:

答案 0 :(得分:1)

我刚玩过它。这个问题对Rcpp Modules来说没有意义:

  • 功能按签名工作
  • 参数是签名的一部分,所以你必须提供它
  • 不带参数调用(测试默认参数)不起作用,因为假定void签名