|
Rcpp Version 0.9.10
|
00001 // -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*- 00002 // 00003 // routines.h: Rcpp R/C++ interface class library -- .Call exported routines 00004 // 00005 // Copyright (C) 2010 - 2011 John Chambers, Dirk Eddelbuettel and Romain Francois 00006 // 00007 // This file is part of Rcpp. 00008 // 00009 // Rcpp is free software: you can redistribute it and/or modify it 00010 // under the terms of the GNU General Public License as published by 00011 // the Free Software Foundation, either version 2 of the License, or 00012 // (at your option) any later version. 00013 // 00014 // Rcpp is distributed in the hope that it will be useful, but 00015 // WITHOUT ANY WARRANTY; without even the implied warranty of 00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 // GNU General Public License for more details. 00018 // 00019 // You should have received a copy of the GNU General Public License 00020 // along with Rcpp. If not, see <http://www.gnu.org/licenses/>. 00021 00022 #ifndef Rcpp__routines_h 00023 #define Rcpp__routines_h 00024 00025 #define CALLFUN_0(name) SEXP name() 00026 #define CALLFUN_1(name) SEXP name(SEXP) 00027 #define CALLFUN_2(name) SEXP name(SEXP,SEXP) 00028 #define CALLFUN_3(name) SEXP name(SEXP,SEXP,SEXP) 00029 #define CALLFUN_4(name) SEXP name(SEXP,SEXP,SEXP,SEXP) 00030 #define CALLFUN_5(name) SEXP name(SEXP,SEXP,SEXP,SEXP,SEXP) 00031 #define EXTFUN(name) SEXP name(SEXP) 00032 00033 // we have to do the ifdef __cplusplus dance because this file 00034 // is included both in C and C++ files 00035 #ifdef __cplusplus 00036 extern "C" { 00037 #endif 00038 00039 CALLFUN_1(as_character_externalptr) ; 00040 00041 CALLFUN_3(CppField__get); 00042 CALLFUN_4(CppField__set); 00043 CALLFUN_1(Class__name); 00044 CALLFUN_1(Class__has_default_constructor) ; 00045 CALLFUN_1(CppClass__complete); 00046 CALLFUN_1(CppClass__methods); 00047 00048 CALLFUN_1(Module__classes_info) ; 00049 CALLFUN_1(Module__complete) ; 00050 CALLFUN_1(Module__functions_arity); 00051 CALLFUN_1(Module__functions_names); 00052 CALLFUN_2(Module__get_class); 00053 CALLFUN_2(Module__has_class); 00054 CALLFUN_2(Module__has_function); 00055 CALLFUN_2(Module__get_function); 00056 CALLFUN_1(Module__name); 00057 CALLFUN_2(CppObject__finalize); 00058 00059 CALLFUN_0(get_rcpp_cache); 00060 CALLFUN_0(init_Rcpp_cache); 00061 CALLFUN_0(reset_current_error); 00062 CALLFUN_1(rcpp_error_recorder); 00063 CALLFUN_1(rcpp_set_current_error); 00064 CALLFUN_0(rcpp_get_current_error); 00065 CALLFUN_1(rcpp_set_error_occured); 00066 CALLFUN_0(rcpp_get_error_occured); 00067 CALLFUN_1(rcpp_set_stack_trace); 00068 CALLFUN_0(rcpp_get_stack_trace); 00069 00070 00071 /* .External functions */ 00072 EXTFUN(CppMethod__invoke) ; 00073 EXTFUN(CppMethod__invoke_void) ; 00074 EXTFUN(CppMethod__invoke_notvoid) ; 00075 EXTFUN(InternalFunction_invoke) ; 00076 EXTFUN(Module__invoke) ; 00077 EXTFUN(class__newInstance) ; 00078 EXTFUN(class__dummyInstance) ; 00079 00080 #ifdef __cplusplus 00081 } 00082 #endif 00083 00084 #undef CALLFUN_0 00085 #undef CALLFUN_1 00086 #undef CALLFUN_2 00087 #undef CALLFUN_3 00088 #undef CALLFUN_4 00089 #undef CALLFUN_5 00090 00091 #endif