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

#include "tfevents_types.h"
#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

// create_event_file_iterator
Rcpp::XPtr<EventFileIterator> create_event_file_iterator(const std::string& path, const std::string& run_name);
RcppExport SEXP _tfevents_create_event_file_iterator(SEXP pathSEXP, SEXP run_nameSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const std::string& >::type path(pathSEXP);
    Rcpp::traits::input_parameter< const std::string& >::type run_name(run_nameSEXP);
    rcpp_result_gen = Rcpp::wrap(create_event_file_iterator(path, run_name));
    return rcpp_result_gen;
END_RCPP
}
// event_file_iterator_next
SEXP event_file_iterator_next(Rcpp::XPtr<EventFileIterator> iter);
RcppExport SEXP _tfevents_event_file_iterator_next(SEXP iterSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::XPtr<EventFileIterator> >::type iter(iterSEXP);
    rcpp_result_gen = Rcpp::wrap(event_file_iterator_next(iter));
    return rcpp_result_gen;
END_RCPP
}
// get_wall_time
long get_wall_time();
RcppExport SEXP _tfevents_get_wall_time() {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    rcpp_result_gen = Rcpp::wrap(get_wall_time());
    return rcpp_result_gen;
END_RCPP
}
// event_writer
Rcpp::XPtr<EventWriter> event_writer(std::string file);
RcppExport SEXP _tfevents_event_writer(SEXP fileSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::string >::type file(fileSEXP);
    rcpp_result_gen = Rcpp::wrap(event_writer(file));
    return rcpp_result_gen;
END_RCPP
}
// write_events
bool write_events(std::vector<tensorboard::Event> events, Rcpp::List writers);
RcppExport SEXP _tfevents_write_events(SEXP eventsSEXP, SEXP writersSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::vector<tensorboard::Event> >::type events(eventsSEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type writers(writersSEXP);
    rcpp_result_gen = Rcpp::wrap(write_events(events, writers));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_tfevents_create_event_file_iterator", (DL_FUNC) &_tfevents_create_event_file_iterator, 2},
    {"_tfevents_event_file_iterator_next", (DL_FUNC) &_tfevents_event_file_iterator_next, 1},
    {"_tfevents_get_wall_time", (DL_FUNC) &_tfevents_get_wall_time, 0},
    {"_tfevents_event_writer", (DL_FUNC) &_tfevents_event_writer, 1},
    {"_tfevents_write_events", (DL_FUNC) &_tfevents_write_events, 2},
    {NULL, NULL, 0}
};

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