Rcpp boost::dynamic_bitset implementation

Rcpp boost::dynamic_bitset implementation

本文关键字:bitset implementation dynamic boost Rcpp      更新时间:2023-10-16

我试图在R中实现位向量(我目前正在使用R位包,但想要远离它)。我想使用boost dynamic_bitset类。我们的想法是编写一个cpp函数,它将接受来自R的逻辑向量并将值存储在dynamic_bitset中。

我的问题是,我发现的大多数Rcpp示例都返回R数据结构,但我特别想避免这种情况发生,同时仍然允许通过我将重载的访问器(例如:as)从R访问。逻辑的,[]等)。实现这一点的最佳方式是什么?

你写

我找到的大多数Rcpp示例返回一个R数据结构

,这就是它的本质。Rcpp通过.Call()接口与R通信,只能接收返回这样的R数据结构:SEXP。Rcpp为您转换为和从,但它不能改变接口被给定使用和固定的事实。您只能将R数据结构返回给R。所有内容都需要映射(或复制)到它们。