// Generated by cpp11: do not edit by hand
// clang-format off


#include "cpp11/declarations.hpp"
#include <R_ext/Visibility.h>

// melt.cpp
cpp11::list melt_dataframe(cpp11::data_frame data, const cpp11::integers& id_ind, const cpp11::integers& measure_ind, cpp11::strings variable_name, cpp11::strings value_name, cpp11::sexp attrTemplate, bool factorsAsStrings, bool valueAsFactor, bool variableAsFactor);
extern "C" SEXP _tidyr_melt_dataframe(SEXP data, SEXP id_ind, SEXP measure_ind, SEXP variable_name, SEXP value_name, SEXP attrTemplate, SEXP factorsAsStrings, SEXP valueAsFactor, SEXP variableAsFactor) {
  BEGIN_CPP11
    return cpp11::as_sexp(melt_dataframe(cpp11::as_cpp<cpp11::decay_t<cpp11::data_frame>>(data), cpp11::as_cpp<cpp11::decay_t<const cpp11::integers&>>(id_ind), cpp11::as_cpp<cpp11::decay_t<const cpp11::integers&>>(measure_ind), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(variable_name), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(value_name), cpp11::as_cpp<cpp11::decay_t<cpp11::sexp>>(attrTemplate), cpp11::as_cpp<cpp11::decay_t<bool>>(factorsAsStrings), cpp11::as_cpp<cpp11::decay_t<bool>>(valueAsFactor), cpp11::as_cpp<cpp11::decay_t<bool>>(variableAsFactor)));
  END_CPP11
}
// simplifyPieces.cpp
cpp11::list simplifyPieces(cpp11::list pieces, int p, bool fillLeft);
extern "C" SEXP _tidyr_simplifyPieces(SEXP pieces, SEXP p, SEXP fillLeft) {
  BEGIN_CPP11
    return cpp11::as_sexp(simplifyPieces(cpp11::as_cpp<cpp11::decay_t<cpp11::list>>(pieces), cpp11::as_cpp<cpp11::decay_t<int>>(p), cpp11::as_cpp<cpp11::decay_t<bool>>(fillLeft)));
  END_CPP11
}

extern "C" {
static const R_CallMethodDef CallEntries[] = {
    {"_tidyr_melt_dataframe", (DL_FUNC) &_tidyr_melt_dataframe, 9},
    {"_tidyr_simplifyPieces", (DL_FUNC) &_tidyr_simplifyPieces, 3},
    {NULL, NULL, 0}
};
}

extern "C" attribute_visible void R_init_tidyr(DllInfo* dll){
  R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
  R_useDynamicSymbols(dll, FALSE);
  R_forceSymbols(dll, TRUE);
}
