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

#include <Rcpp.h>

using namespace Rcpp;

#ifdef RCPP_USE_GLOBAL_ROSTREAM
Rcpp::Rostream<true>&  Rcpp::Rcout = Rcpp::Rcpp_cout_get();
Rcpp::Rostream<false>& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get();
#endif

// estimateExhaustiveRunTime
float estimateExhaustiveRunTime(SEXP desc, unsigned int maxlevel, unsigned int byCol);
RcppExport SEXP _nVennR2_estimateExhaustiveRunTime(SEXP descSEXP, SEXP maxlevelSEXP, SEXP byColSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type desc(descSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type maxlevel(maxlevelSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type byCol(byColSEXP);
    rcpp_result_gen = Rcpp::wrap(estimateExhaustiveRunTime(desc, maxlevel, byCol));
    return rcpp_result_gen;
END_RCPP
}
// nVennDiagram
SEXP nVennDiagram(SEXP desc, bool plot, std::string outFile, bool systemShow, bool verbose, unsigned int maxlevel, unsigned int byCol);
RcppExport SEXP _nVennR2_nVennDiagram(SEXP descSEXP, SEXP plotSEXP, SEXP outFileSEXP, SEXP systemShowSEXP, SEXP verboseSEXP, SEXP maxlevelSEXP, SEXP byColSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type desc(descSEXP);
    Rcpp::traits::input_parameter< bool >::type plot(plotSEXP);
    Rcpp::traits::input_parameter< std::string >::type outFile(outFileSEXP);
    Rcpp::traits::input_parameter< bool >::type systemShow(systemShowSEXP);
    Rcpp::traits::input_parameter< bool >::type verbose(verboseSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type maxlevel(maxlevelSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type byCol(byColSEXP);
    rcpp_result_gen = Rcpp::wrap(nVennDiagram(desc, plot, outFile, systemShow, verbose, maxlevel, byCol));
    return rcpp_result_gen;
END_RCPP
}
// readVennSVG
SEXP readVennSVG(std::string svgFile, bool plot, std::string outFile, bool systemShow);
RcppExport SEXP _nVennR2_readVennSVG(SEXP svgFileSEXP, SEXP plotSEXP, SEXP outFileSEXP, SEXP systemShowSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::string >::type svgFile(svgFileSEXP);
    Rcpp::traits::input_parameter< bool >::type plot(plotSEXP);
    Rcpp::traits::input_parameter< std::string >::type outFile(outFileSEXP);
    Rcpp::traits::input_parameter< bool >::type systemShow(systemShowSEXP);
    rcpp_result_gen = Rcpp::wrap(readVennSVG(svgFile, plot, outFile, systemShow));
    return rcpp_result_gen;
END_RCPP
}
// getVennSetNames
List getVennSetNames(List nVennObj);
RcppExport SEXP _nVennR2_getVennSetNames(SEXP nVennObjSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< List >::type nVennObj(nVennObjSEXP);
    rcpp_result_gen = Rcpp::wrap(getVennSetNames(nVennObj));
    return rcpp_result_gen;
END_RCPP
}
// getVennRegion
List getVennRegion(List nVennObj, SEXP n);
RcppExport SEXP _nVennR2_getVennRegion(SEXP nVennObjSEXP, SEXP nSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< List >::type nVennObj(nVennObjSEXP);
    Rcpp::traits::input_parameter< SEXP >::type n(nSEXP);
    rcpp_result_gen = Rcpp::wrap(getVennRegion(nVennObj, n));
    return rcpp_result_gen;
END_RCPP
}
// listVennRegions
List listVennRegions(List nVennObj, bool showEmpty);
RcppExport SEXP _nVennR2_listVennRegions(SEXP nVennObjSEXP, SEXP showEmptySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< List >::type nVennObj(nVennObjSEXP);
    Rcpp::traits::input_parameter< bool >::type showEmpty(showEmptySEXP);
    rcpp_result_gen = Rcpp::wrap(listVennRegions(nVennObj, showEmpty));
    return rcpp_result_gen;
END_RCPP
}
// getVennSvg
String getVennSvg(List nVennObj);
RcppExport SEXP _nVennR2_getVennSvg(SEXP nVennObjSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< List >::type nVennObj(nVennObjSEXP);
    rcpp_result_gen = Rcpp::wrap(getVennSvg(nVennObj));
    return rcpp_result_gen;
END_RCPP
}
// rotateVenn
SEXP rotateVenn(List nVennObj, float angle, bool plot);
RcppExport SEXP _nVennR2_rotateVenn(SEXP nVennObjSEXP, SEXP angleSEXP, SEXP plotSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< List >::type nVennObj(nVennObjSEXP);
    Rcpp::traits::input_parameter< float >::type angle(angleSEXP);
    Rcpp::traits::input_parameter< bool >::type plot(plotSEXP);
    rcpp_result_gen = Rcpp::wrap(rotateVenn(nVennObj, angle, plot));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_nVennR2_estimateExhaustiveRunTime", (DL_FUNC) &_nVennR2_estimateExhaustiveRunTime, 3},
    {"_nVennR2_nVennDiagram", (DL_FUNC) &_nVennR2_nVennDiagram, 7},
    {"_nVennR2_readVennSVG", (DL_FUNC) &_nVennR2_readVennSVG, 4},
    {"_nVennR2_getVennSetNames", (DL_FUNC) &_nVennR2_getVennSetNames, 1},
    {"_nVennR2_getVennRegion", (DL_FUNC) &_nVennR2_getVennRegion, 2},
    {"_nVennR2_listVennRegions", (DL_FUNC) &_nVennR2_listVennRegions, 2},
    {"_nVennR2_getVennSvg", (DL_FUNC) &_nVennR2_getVennSvg, 1},
    {"_nVennR2_rotateVenn", (DL_FUNC) &_nVennR2_rotateVenn, 3},
    {NULL, NULL, 0}
};

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