// Generated by using Rcpp::compileAttributes() -> do not edit by hand
// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

#include "../inst/include/Rbec.h"
#include <Rcpp.h>
#include <string>
#include <set>

using namespace Rcpp;

// kmer_dist
NumericVector kmer_dist(std::vector< std::string > s1, std::vector< std::string > s2, int kmer_size);
RcppExport SEXP _Rbec_kmer_dist(SEXP s1SEXP, SEXP s2SEXP, SEXP kmer_sizeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::vector< std::string > >::type s1(s1SEXP);
    Rcpp::traits::input_parameter< std::vector< std::string > >::type s2(s2SEXP);
    Rcpp::traits::input_parameter< int >::type kmer_size(kmer_sizeSEXP);
    rcpp_result_gen = Rcpp::wrap(kmer_dist(s1, s2, kmer_size));
    return rcpp_result_gen;
END_RCPP
}

// validate (ensure exported C++ functions exist before calling them)
static int _Rbec_RcppExport_validate(const char* sig) { 
    static std::set<std::string> signatures;
    if (signatures.empty()) {
    }
    return signatures.find(sig) != signatures.end();
}

// registerCCallable (register entry points for exported C++ functions)
RcppExport SEXP _Rbec_RcppExport_registerCCallable() { 
    R_RegisterCCallable("Rbec", "_Rbec_RcppExport_validate", (DL_FUNC)_Rbec_RcppExport_validate);
    return R_NilValue;
}

static const R_CallMethodDef CallEntries[] = {
    {"_Rbec_kmer_dist", (DL_FUNC) &_Rbec_kmer_dist, 3},
    {"_Rbec_RcppExport_registerCCallable", (DL_FUNC) &_Rbec_RcppExport_registerCCallable, 0},
    {NULL, NULL, 0}
};

RcppExport void R_init_Rbec(DllInfo *dll) {
    R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
    R_useDynamicSymbols(dll, FALSE);
}
