[Rcpp-devel] Locating an Instance of a Reference Class in the Environment

Dirk Eddelbuettel edd at debian.org
Thu Mar 23 23:03:21 CET 2023


On 22 March 2023 at 13:31, Matthew Supernaw - NOAA Federal wrote:
| I'm trying to get an instance of a reference class (vonBertalanffyInterface)
| from the R environment with the following code:
| 
| void SetName(vonBertalanffyInterface& v) {
| 
|     Rcpp::Environment env = Rcpp::Environment::global_env();
|     Rcpp::List l = Rcpp::as<Rcpp::List>(env.ls(true));
| 
|     for (int i = 0; i < l.size(); i++) {
|         std::cout << typeid (l[i]).name() << std::endl;
|        
|         if(&v == l[i].get()){
|             v.name Rcpp::as<std::string>(l[i]);
|         }
|     }
| }
| 
| The problem is that elements in the list are of type 
| N4Rcpp8internal13generic_proxyILi19ENS_15PreserveStorageEEE.
| 
| I'm assuming that PreserveStorage is a wrapper class. Is there a way to
| retrieve the reference class from the PreserveStorage object?

Interesting question.  Can you do it in plain R (once you created the object) ?

Dirk

-- 
dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org


More information about the Rcpp-devel mailing list