更改 R 包的导出模式以隐藏 Rcpp 函数
changing R packages' exportPattern to hide Rcpp functions
我正在使用Rcpp函数编写一个R包。我需要一些Rcpp函数在R代码中调用,但不能被最终使用的函数看到。我正在使用devtools基础设施来促进开发过程。在使用Rcpp之前,我曾通过名称前的"."prexif来隐藏作为"内部"的R函数。因此exportPattern("^[:alpha:]]+")已经足够了。我在所有Rcpp C++函数上都使用了"Cpp"后缀。在我的包中,它们都不打算由最终用户使用,但所有这些都需要由导出到最终用户的R函数使用。我在它们的定义之前放了//[[Rcpp::export]],并用export替换了exportPattern(所有需要导出的函数都用逗号分隔)。但是我有一个包,里面有一大堆要导出的函数,所以我想知道是否可以重写"^[:alpha:]]+",这样就不会导出所有以"."开头或以"Cpp"结尾的函数。
最后,我发现我只需要在Rcpp::export附近加一个括号,并按照我希望在R中看到的方式命名函数(也以.开头)
// [[Rcpp::export(.mult3sum)]]
double mult3sum(NumericVector x, NumericVector y, NumericVector z)
{
double total=0;
int n = x.size();
for(int i = 0; i < n; ++i) {
total += x[i]*y[i]*z[i];
}
return total;
}
将在R中显示为.mult3sum
相关文章:
- 这是我尝试让用户将值输入到数组中.然后将其隐藏为大量的星号
- 如何使用Rcpp将R函数转换为C++函数
- rcpp函数中的清理时间很长
- 结构和双指针隐藏在其他结构中,多层混淆
- 将 C++ 类与 Rcpp 一起使用,从 C 或 R 修改它
- 从 Rcpp Catch 测试中获取有关"inst/extdata"的数据
- 在 cpp 文件中隐藏采用模板参数引用的方法
- 参数包构造函数在类模板中隐藏用户定义的转换
- 如何等待窗口隐藏在Qt中?
- 犰狳的 print() 方法和 cout 在从 Rcpp 调用时顺序不一致
- 如何使用类型别名从模板化类中隐藏模板列表
- 在设计 SDK 时,我是否应该在 C++ 头文件中完全隐藏内部类?
- std::mt19937 in Rcpp
- Rcpp并行无匹配函数,用于调用"转换"
- 名称隐藏对静态函数继承的实例使用
- 通过 RCPP 中的索引求和
- 在 Linux 中使用 ioctl() 获取隐藏功能报告时,零字节消失
- 从多个模板化基类派生时出现"隐藏重载的虚函数"警告
- 如何在 Omnet++ 5.6.1 中隐藏箭头?
- 更改 R 包的导出模式以隐藏 Rcpp 函数