2424
2525#include < Rcpp.h>
2626
27+ using namespace Rcpp ;
28+
2729#include " internal.h"
2830#include < R_ext/PrtUtil.h>
2931
3032#ifdef RCPP_HAS_DEMANGLING
3133#include < cxxabi.h>
3234#endif
33-
35+
3436#if defined(__GNUC__)
3537 #if defined(WIN32) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__CYGWIN__) || defined(__sun)
3638 #else
@@ -168,81 +170,6 @@ namespace Rcpp {
168170 }
169171 }
170172
171- // [[Rcpp::internal]]
172- SEXP rcpp_capabilities (){
173- Shield<SEXP > cap ( Rf_allocVector ( LGLSXP , 9 ) );
174- Shield<SEXP > names ( Rf_allocVector ( STRSXP , 9 ) );
175- #ifdef HAS_VARIADIC_TEMPLATES
176- LOGICAL (cap)[0 ] = TRUE ;
177- #else
178- LOGICAL (cap)[0 ] = FALSE ;
179- #endif
180- #ifdef HAS_CXX0X_INITIALIZER_LIST
181- LOGICAL (cap)[1 ] = TRUE ;
182- #else
183- LOGICAL (cap)[1 ] = FALSE ;
184- #endif
185- /* exceptions are always supported */
186- LOGICAL (cap)[2 ] = TRUE ;
187-
188- #ifdef HAS_TR1_UNORDERED_MAP
189- LOGICAL (cap)[3 ] = TRUE ;
190- #else
191- LOGICAL (cap)[3 ] = FALSE ;
192- #endif
193-
194- #ifdef HAS_TR1_UNORDERED_SET
195- LOGICAL (cap)[4 ] = TRUE ;
196- #else
197- LOGICAL (cap)[4 ] = FALSE ;
198- #endif
199-
200- LOGICAL (cap)[5 ] = TRUE ;
201-
202- #ifdef RCPP_HAS_DEMANGLING
203- LOGICAL (cap)[6 ] = TRUE ;
204- #else
205- LOGICAL (cap)[6 ] = FALSE ;
206- #endif
207-
208- LOGICAL (cap)[7 ] = FALSE ;
209-
210- #ifdef RCPP_HAS_LONG_LONG_TYPES
211- LOGICAL (cap)[8 ] = TRUE ;
212- #else
213- LOGICAL (cap)[8 ] = FALSE ;
214- #endif
215-
216- SET_STRING_ELT (names, 0 , Rf_mkChar (" variadic templates" ) ) ;
217- SET_STRING_ELT (names, 1 , Rf_mkChar (" initializer lists" ) ) ;
218- SET_STRING_ELT (names, 2 , Rf_mkChar (" exception handling" ) ) ;
219- SET_STRING_ELT (names, 3 , Rf_mkChar (" tr1 unordered maps" ) ) ;
220- SET_STRING_ELT (names, 4 , Rf_mkChar (" tr1 unordered sets" ) ) ;
221- SET_STRING_ELT (names, 5 , Rf_mkChar (" Rcpp modules" ) ) ;
222- SET_STRING_ELT (names, 6 , Rf_mkChar (" demangling" ) ) ;
223- SET_STRING_ELT (names, 7 , Rf_mkChar (" classic api" ) ) ;
224- SET_STRING_ELT (names, 8 , Rf_mkChar (" long long" ) ) ;
225- Rf_setAttrib ( cap, R_NamesSymbol, names ) ;
226- return cap ;
227- }
228-
229-
230- // [[Rcpp::internal]]
231- SEXP rcpp_can_use_cxx0x (){
232- #ifdef HAS_VARIADIC_TEMPLATES
233- return Rf_ScalarLogical ( TRUE );
234- #else
235- return Rf_ScalarLogical ( FALSE );
236- #endif
237- }
238-
239- // [[Rcpp::internal]]
240- SEXP as_character_externalptr (SEXP xp){
241- char buffer[20 ] ;
242- snprintf ( buffer, 20 , " %p" , (void *)EXTPTR_PTR (xp) ) ;
243- return Rcpp::wrap ( (const char *)buffer ) ;
244- }
245-
246173 // [[Rcpp::register]]
247174 const char * short_file_name (const char * file){
248175 std::string f (file) ;
@@ -256,6 +183,82 @@ namespace Rcpp {
256183
257184} // namespace Rcpp
258185
186+ // [[Rcpp::internal]]
187+ SEXP as_character_externalptr (SEXP xp){
188+ char buffer[20 ] ;
189+ snprintf ( buffer, 20 , " %p" , (void *)EXTPTR_PTR (xp) ) ;
190+ return Rcpp::wrap ( (const char *)buffer ) ;
191+ }
192+
193+ // [[Rcpp::internal]]
194+ SEXP rcpp_capabilities (){
195+ Shield<SEXP > cap ( Rf_allocVector ( LGLSXP , 9 ) );
196+ Shield<SEXP > names ( Rf_allocVector ( STRSXP , 9 ) );
197+ #ifdef HAS_VARIADIC_TEMPLATES
198+ LOGICAL (cap)[0 ] = TRUE ;
199+ #else
200+ LOGICAL (cap)[0 ] = FALSE ;
201+ #endif
202+ #ifdef HAS_CXX0X_INITIALIZER_LIST
203+ LOGICAL (cap)[1 ] = TRUE ;
204+ #else
205+ LOGICAL (cap)[1 ] = FALSE ;
206+ #endif
207+ /* exceptions are always supported */
208+ LOGICAL (cap)[2 ] = TRUE ;
209+
210+ #ifdef HAS_TR1_UNORDERED_MAP
211+ LOGICAL (cap)[3 ] = TRUE ;
212+ #else
213+ LOGICAL (cap)[3 ] = FALSE ;
214+ #endif
215+
216+ #ifdef HAS_TR1_UNORDERED_SET
217+ LOGICAL (cap)[4 ] = TRUE ;
218+ #else
219+ LOGICAL (cap)[4 ] = FALSE ;
220+ #endif
221+
222+ LOGICAL (cap)[5 ] = TRUE ;
223+
224+ #ifdef RCPP_HAS_DEMANGLING
225+ LOGICAL (cap)[6 ] = TRUE ;
226+ #else
227+ LOGICAL (cap)[6 ] = FALSE ;
228+ #endif
229+
230+ LOGICAL (cap)[7 ] = FALSE ;
231+
232+ #ifdef RCPP_HAS_LONG_LONG_TYPES
233+ LOGICAL (cap)[8 ] = TRUE ;
234+ #else
235+ LOGICAL (cap)[8 ] = FALSE ;
236+ #endif
237+
238+ SET_STRING_ELT (names, 0 , Rf_mkChar (" variadic templates" ) ) ;
239+ SET_STRING_ELT (names, 1 , Rf_mkChar (" initializer lists" ) ) ;
240+ SET_STRING_ELT (names, 2 , Rf_mkChar (" exception handling" ) ) ;
241+ SET_STRING_ELT (names, 3 , Rf_mkChar (" tr1 unordered maps" ) ) ;
242+ SET_STRING_ELT (names, 4 , Rf_mkChar (" tr1 unordered sets" ) ) ;
243+ SET_STRING_ELT (names, 5 , Rf_mkChar (" Rcpp modules" ) ) ;
244+ SET_STRING_ELT (names, 6 , Rf_mkChar (" demangling" ) ) ;
245+ SET_STRING_ELT (names, 7 , Rf_mkChar (" classic api" ) ) ;
246+ SET_STRING_ELT (names, 8 , Rf_mkChar (" long long" ) ) ;
247+ Rf_setAttrib ( cap, R_NamesSymbol, names ) ;
248+ return cap ;
249+ }
250+
251+
252+ // [[Rcpp::internal]]
253+ SEXP rcpp_can_use_cxx0x (){
254+ #ifdef HAS_VARIADIC_TEMPLATES
255+ return Rf_ScalarLogical ( TRUE );
256+ #else
257+ return Rf_ScalarLogical ( FALSE );
258+ #endif
259+ }
260+
261+
259262// [[Rcpp::register]]
260263SEXP stack_trace ( const char * file, int line ){
261264 #if defined(__GNUC__)
0 commit comments