// [[Rcpp::plugins(cpp20)]] #include #include #include #include // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_i_i(Rcpp::IntegerVector& keys, Rcpp::IntegerVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_i_d(Rcpp::IntegerVector& keys, Rcpp::NumericVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_i_s(Rcpp::IntegerVector& keys, Rcpp::CharacterVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_i_b(Rcpp::IntegerVector& keys, Rcpp::LogicalVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_d_i(Rcpp::NumericVector& keys, Rcpp::IntegerVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_d_d(Rcpp::NumericVector& keys, Rcpp::NumericVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_d_s(Rcpp::NumericVector& keys, Rcpp::CharacterVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_d_b(Rcpp::NumericVector& keys, Rcpp::LogicalVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_s_i(Rcpp::CharacterVector& keys, Rcpp::IntegerVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_s_d(Rcpp::CharacterVector& keys, Rcpp::NumericVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_s_s(Rcpp::CharacterVector& keys, Rcpp::CharacterVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_s_b(Rcpp::CharacterVector& keys, Rcpp::LogicalVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_b_i(Rcpp::LogicalVector& keys, Rcpp::IntegerVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_b_d(Rcpp::LogicalVector& keys, Rcpp::NumericVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_b_s(Rcpp::LogicalVector& keys, Rcpp::CharacterVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; } // [[Rcpp::export]] Rcpp::XPtr > unordered_multimap_b_b(Rcpp::LogicalVector& keys, Rcpp::LogicalVector& values) { std::unordered_multimap* m = new std::unordered_multimap; const std::size_t v_size = keys.size(); for(std::size_t i = 0; i != v_size; ++i) { m->emplace(keys[i], values[i]); } Rcpp::XPtr > p(m); return p; }