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

#ifndef RCPP_RcppMeCab_RCPPEXPORTS_H_GEN_
#define RCPP_RcppMeCab_RCPPEXPORTS_H_GEN_

#include <Rcpp.h>

namespace RcppMeCab {

    using namespace Rcpp;

    namespace {
        void validateSignature(const char* sig) {
            Rcpp::Function require = Rcpp::Environment::base_env()["require"];
            require("RcppMeCab", Rcpp::Named("quietly") = true);
            typedef int(*Ptr_validate)(const char*);
            static Ptr_validate p_validate = (Ptr_validate)
                R_GetCCallable("RcppMeCab", "_RcppMeCab_RcppExport_validate");
            if (!p_validate(sig)) {
                throw Rcpp::function_not_exported(
                    "C++ function with signature '" + std::string(sig) + "' not found in RcppMeCab");
            }
        }
    }

    inline List posParallelJoinRcpp(std::vector<std::string> text, std::string sys_dic, std::string user_dic) {
        typedef SEXP(*Ptr_posParallelJoinRcpp)(SEXP,SEXP,SEXP);
        static Ptr_posParallelJoinRcpp p_posParallelJoinRcpp = NULL;
        if (p_posParallelJoinRcpp == NULL) {
            validateSignature("List(*posParallelJoinRcpp)(std::vector<std::string>,std::string,std::string)");
            p_posParallelJoinRcpp = (Ptr_posParallelJoinRcpp)R_GetCCallable("RcppMeCab", "_RcppMeCab_posParallelJoinRcpp");
        }
        RObject rcpp_result_gen;
        {
            RNGScope RCPP_rngScope_gen;
            rcpp_result_gen = p_posParallelJoinRcpp(Shield<SEXP>(Rcpp::wrap(text)), Shield<SEXP>(Rcpp::wrap(sys_dic)), Shield<SEXP>(Rcpp::wrap(user_dic)));
        }
        if (rcpp_result_gen.inherits("interrupted-error"))
            throw Rcpp::internal::InterruptedException();
        if (Rcpp::internal::isLongjumpSentinel(rcpp_result_gen))
            throw Rcpp::LongjumpException(rcpp_result_gen);
        if (rcpp_result_gen.inherits("try-error"))
            throw Rcpp::exception(Rcpp::as<std::string>(rcpp_result_gen).c_str());
        return Rcpp::as<List >(rcpp_result_gen);
    }

    inline DataFrame posParallelDFRcpp(StringVector text, std::string sys_dic, std::string user_dic) {
        typedef SEXP(*Ptr_posParallelDFRcpp)(SEXP,SEXP,SEXP);
        static Ptr_posParallelDFRcpp p_posParallelDFRcpp = NULL;
        if (p_posParallelDFRcpp == NULL) {
            validateSignature("DataFrame(*posParallelDFRcpp)(StringVector,std::string,std::string)");
            p_posParallelDFRcpp = (Ptr_posParallelDFRcpp)R_GetCCallable("RcppMeCab", "_RcppMeCab_posParallelDFRcpp");
        }
        RObject rcpp_result_gen;
        {
            RNGScope RCPP_rngScope_gen;
            rcpp_result_gen = p_posParallelDFRcpp(Shield<SEXP>(Rcpp::wrap(text)), Shield<SEXP>(Rcpp::wrap(sys_dic)), Shield<SEXP>(Rcpp::wrap(user_dic)));
        }
        if (rcpp_result_gen.inherits("interrupted-error"))
            throw Rcpp::internal::InterruptedException();
        if (Rcpp::internal::isLongjumpSentinel(rcpp_result_gen))
            throw Rcpp::LongjumpException(rcpp_result_gen);
        if (rcpp_result_gen.inherits("try-error"))
            throw Rcpp::exception(Rcpp::as<std::string>(rcpp_result_gen).c_str());
        return Rcpp::as<DataFrame >(rcpp_result_gen);
    }

    inline List posParallelRcpp(std::vector<std::string> text, std::string sys_dic, std::string user_dic) {
        typedef SEXP(*Ptr_posParallelRcpp)(SEXP,SEXP,SEXP);
        static Ptr_posParallelRcpp p_posParallelRcpp = NULL;
        if (p_posParallelRcpp == NULL) {
            validateSignature("List(*posParallelRcpp)(std::vector<std::string>,std::string,std::string)");
            p_posParallelRcpp = (Ptr_posParallelRcpp)R_GetCCallable("RcppMeCab", "_RcppMeCab_posParallelRcpp");
        }
        RObject rcpp_result_gen;
        {
            RNGScope RCPP_rngScope_gen;
            rcpp_result_gen = p_posParallelRcpp(Shield<SEXP>(Rcpp::wrap(text)), Shield<SEXP>(Rcpp::wrap(sys_dic)), Shield<SEXP>(Rcpp::wrap(user_dic)));
        }
        if (rcpp_result_gen.inherits("interrupted-error"))
            throw Rcpp::internal::InterruptedException();
        if (Rcpp::internal::isLongjumpSentinel(rcpp_result_gen))
            throw Rcpp::LongjumpException(rcpp_result_gen);
        if (rcpp_result_gen.inherits("try-error"))
            throw Rcpp::exception(Rcpp::as<std::string>(rcpp_result_gen).c_str());
        return Rcpp::as<List >(rcpp_result_gen);
    }

    inline CharacterVector posRcpp(std::string text, std::string sys_dic, std::string user_dic) {
        typedef SEXP(*Ptr_posRcpp)(SEXP,SEXP,SEXP);
        static Ptr_posRcpp p_posRcpp = NULL;
        if (p_posRcpp == NULL) {
            validateSignature("CharacterVector(*posRcpp)(std::string,std::string,std::string)");
            p_posRcpp = (Ptr_posRcpp)R_GetCCallable("RcppMeCab", "_RcppMeCab_posRcpp");
        }
        RObject rcpp_result_gen;
        {
            RNGScope RCPP_rngScope_gen;
            rcpp_result_gen = p_posRcpp(Shield<SEXP>(Rcpp::wrap(text)), Shield<SEXP>(Rcpp::wrap(sys_dic)), Shield<SEXP>(Rcpp::wrap(user_dic)));
        }
        if (rcpp_result_gen.inherits("interrupted-error"))
            throw Rcpp::internal::InterruptedException();
        if (Rcpp::internal::isLongjumpSentinel(rcpp_result_gen))
            throw Rcpp::LongjumpException(rcpp_result_gen);
        if (rcpp_result_gen.inherits("try-error"))
            throw Rcpp::exception(Rcpp::as<std::string>(rcpp_result_gen).c_str());
        return Rcpp::as<CharacterVector >(rcpp_result_gen);
    }

    inline StringVector posJoinRcpp(std::string text, std::string sys_dic, std::string user_dic) {
        typedef SEXP(*Ptr_posJoinRcpp)(SEXP,SEXP,SEXP);
        static Ptr_posJoinRcpp p_posJoinRcpp = NULL;
        if (p_posJoinRcpp == NULL) {
            validateSignature("StringVector(*posJoinRcpp)(std::string,std::string,std::string)");
            p_posJoinRcpp = (Ptr_posJoinRcpp)R_GetCCallable("RcppMeCab", "_RcppMeCab_posJoinRcpp");
        }
        RObject rcpp_result_gen;
        {
            RNGScope RCPP_rngScope_gen;
            rcpp_result_gen = p_posJoinRcpp(Shield<SEXP>(Rcpp::wrap(text)), Shield<SEXP>(Rcpp::wrap(sys_dic)), Shield<SEXP>(Rcpp::wrap(user_dic)));
        }
        if (rcpp_result_gen.inherits("interrupted-error"))
            throw Rcpp::internal::InterruptedException();
        if (Rcpp::internal::isLongjumpSentinel(rcpp_result_gen))
            throw Rcpp::LongjumpException(rcpp_result_gen);
        if (rcpp_result_gen.inherits("try-error"))
            throw Rcpp::exception(Rcpp::as<std::string>(rcpp_result_gen).c_str());
        return Rcpp::as<StringVector >(rcpp_result_gen);
    }

    inline List posLoopRcpp(std::vector< std::string > text, std::string sys_dic, std::string user_dic) {
        typedef SEXP(*Ptr_posLoopRcpp)(SEXP,SEXP,SEXP);
        static Ptr_posLoopRcpp p_posLoopRcpp = NULL;
        if (p_posLoopRcpp == NULL) {
            validateSignature("List(*posLoopRcpp)(std::vector< std::string >,std::string,std::string)");
            p_posLoopRcpp = (Ptr_posLoopRcpp)R_GetCCallable("RcppMeCab", "_RcppMeCab_posLoopRcpp");
        }
        RObject rcpp_result_gen;
        {
            RNGScope RCPP_rngScope_gen;
            rcpp_result_gen = p_posLoopRcpp(Shield<SEXP>(Rcpp::wrap(text)), Shield<SEXP>(Rcpp::wrap(sys_dic)), Shield<SEXP>(Rcpp::wrap(user_dic)));
        }
        if (rcpp_result_gen.inherits("interrupted-error"))
            throw Rcpp::internal::InterruptedException();
        if (Rcpp::internal::isLongjumpSentinel(rcpp_result_gen))
            throw Rcpp::LongjumpException(rcpp_result_gen);
        if (rcpp_result_gen.inherits("try-error"))
            throw Rcpp::exception(Rcpp::as<std::string>(rcpp_result_gen).c_str());
        return Rcpp::as<List >(rcpp_result_gen);
    }

    inline List posLoopJoinRcpp(std::vector< std::string > text, std::string sys_dic, std::string user_dic) {
        typedef SEXP(*Ptr_posLoopJoinRcpp)(SEXP,SEXP,SEXP);
        static Ptr_posLoopJoinRcpp p_posLoopJoinRcpp = NULL;
        if (p_posLoopJoinRcpp == NULL) {
            validateSignature("List(*posLoopJoinRcpp)(std::vector< std::string >,std::string,std::string)");
            p_posLoopJoinRcpp = (Ptr_posLoopJoinRcpp)R_GetCCallable("RcppMeCab", "_RcppMeCab_posLoopJoinRcpp");
        }
        RObject rcpp_result_gen;
        {
            RNGScope RCPP_rngScope_gen;
            rcpp_result_gen = p_posLoopJoinRcpp(Shield<SEXP>(Rcpp::wrap(text)), Shield<SEXP>(Rcpp::wrap(sys_dic)), Shield<SEXP>(Rcpp::wrap(user_dic)));
        }
        if (rcpp_result_gen.inherits("interrupted-error"))
            throw Rcpp::internal::InterruptedException();
        if (Rcpp::internal::isLongjumpSentinel(rcpp_result_gen))
            throw Rcpp::LongjumpException(rcpp_result_gen);
        if (rcpp_result_gen.inherits("try-error"))
            throw Rcpp::exception(Rcpp::as<std::string>(rcpp_result_gen).c_str());
        return Rcpp::as<List >(rcpp_result_gen);
    }

    inline DataFrame posDFRcpp(StringVector text, std::string sys_dic, std::string user_dic) {
        typedef SEXP(*Ptr_posDFRcpp)(SEXP,SEXP,SEXP);
        static Ptr_posDFRcpp p_posDFRcpp = NULL;
        if (p_posDFRcpp == NULL) {
            validateSignature("DataFrame(*posDFRcpp)(StringVector,std::string,std::string)");
            p_posDFRcpp = (Ptr_posDFRcpp)R_GetCCallable("RcppMeCab", "_RcppMeCab_posDFRcpp");
        }
        RObject rcpp_result_gen;
        {
            RNGScope RCPP_rngScope_gen;
            rcpp_result_gen = p_posDFRcpp(Shield<SEXP>(Rcpp::wrap(text)), Shield<SEXP>(Rcpp::wrap(sys_dic)), Shield<SEXP>(Rcpp::wrap(user_dic)));
        }
        if (rcpp_result_gen.inherits("interrupted-error"))
            throw Rcpp::internal::InterruptedException();
        if (Rcpp::internal::isLongjumpSentinel(rcpp_result_gen))
            throw Rcpp::LongjumpException(rcpp_result_gen);
        if (rcpp_result_gen.inherits("try-error"))
            throw Rcpp::exception(Rcpp::as<std::string>(rcpp_result_gen).c_str());
        return Rcpp::as<DataFrame >(rcpp_result_gen);
    }

}

#endif // RCPP_RcppMeCab_RCPPEXPORTS_H_GEN_
