[Rcpp-devel] [Rcpp-commits] r307 - in pkg/src: . Rcpp

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Thu Jan 7 19:19:14 CET 2010


Author: romain
Date: 2010-01-07 19:19:14 +0100 (Thu, 07 Jan 2010)
New Revision: 307

Modified:
   pkg/src/Rcpp/wrap.h
   pkg/src/wrap.cpp
Log:
some more inlining

Modified: pkg/src/Rcpp/wrap.h
===================================================================
--- pkg/src/Rcpp/wrap.h	2010-01-07 18:06:48 UTC (rev 306)
+++ pkg/src/Rcpp/wrap.h	2010-01-07 18:19:14 UTC (rev 307)
@@ -42,24 +42,26 @@
 
 RObject wrap(SEXP m_sexp) ;
 
-LogicalVector wrap(const bool & v);
+LogicalVector wrap(const bool & v); 
 NumericVector wrap(const double & v);
 IntegerVector wrap(const int & v);
-CharacterVector wrap(const char* const v);
 RawVector wrap(const Rbyte & v);
-CharacterVector wrap(const std::string & v);
 
 IntegerVector wrap(const std::vector<int> & v);
 NumericVector wrap(const std::vector<double> & v);
-CharacterVector wrap(const std::vector<std::string> & v);
 RawVector wrap(const std::vector<Rbyte> & v);
 LogicalVector wrap(const std::vector<bool> & v);
 
 IntegerVector wrap(const std::set<int> & v);
 NumericVector wrap(const std::set<double> & v);
-CharacterVector wrap(const std::set<std::string> & v);
 RawVector wrap(const std::set<Rbyte> & v);
+CharacterVector wrap(const std::set<std::string> & v) ; 
 
+inline CharacterVector wrap(const char* const v){ return CharacterVector(v); }
+inline CharacterVector wrap(const std::string & v){ return CharacterVector(v); }
+inline CharacterVector wrap(const std::vector<std::string> & v){ return CharacterVector(v); }
+
+
 #ifdef HAS_INIT_LISTS
 inline IntegerVector wrap( std::initializer_list<int> list) { return IntegerVector( list ) ;}
 inline NumericVector wrap( std::initializer_list<double> list) { return NumericVector( list ); } 

Modified: pkg/src/wrap.cpp
===================================================================
--- pkg/src/wrap.cpp	2010-01-07 18:06:48 UTC (rev 306)
+++ pkg/src/wrap.cpp	2010-01-07 18:19:14 UTC (rev 307)
@@ -112,16 +112,6 @@
     return o ;
 }
 
-CharacterVector wrap( const char * const v){
-	return wrap( std::string(v) ) ;
-}
-
-CharacterVector wrap(const std::string & v){
-    logTxt("RObject from std::string\n");
-    CharacterVector o(Rf_mkString(v.c_str()));
-    return o ;
-}
-
 LogicalVector wrap(const std::vector<bool> & v){
     logTxt("RObject from bool vector\n");
     int n = v.size();
@@ -162,22 +152,6 @@
     return o ;
 }
 
-CharacterVector wrap(const std::vector<std::string> & v){
-    logTxt("RObject from std::string vector\n");
-    int n = v.size();
-    SEXP m_sexp = PROTECT(Rf_allocVector(STRSXP, n));
-    int i=0; 
-    std::vector<std::string>::const_iterator it = v.begin() ;
-    while( i<n ){
-    	SET_STRING_ELT(m_sexp, i, Rf_mkChar(it->c_str()));
-    	i++ ;
-    	it++; 
-    }
-    CharacterVector o(m_sexp) ;
-    UNPROTECT(1) ;
-    return o ;
-}
-
 /* sets */
 
 IntegerVector wrap(const std::set<int> & v){

_______________________________________________
Rcpp-commits mailing list
Rcpp-commits at lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-commits


More information about the Rcpp-devel mailing list