[Rcpp-commits] r256 - in pkg: inst src src/Rcpp
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Sat Jan 2 15:49:24 CET 2010
Author: edd
Date: 2010-01-02 15:49:24 +0100 (Sat, 02 Jan 2010)
New Revision: 256
Modified:
pkg/inst/ChangeLog
pkg/src/Evaluator.cpp
pkg/src/Rcpp/Evaluator.h
Log:
reorder Evaluator() initializations to match member variable listing order (g++ warning)
add RcppSexp.h re-entry to ChangeLog
Modified: pkg/inst/ChangeLog
===================================================================
--- pkg/inst/ChangeLog 2010-01-02 09:34:34 UTC (rev 255)
+++ pkg/inst/ChangeLog 2010-01-02 14:49:24 UTC (rev 256)
@@ -1,15 +1,20 @@
+2010-01-02 Romain Francois <francoisromain at free.fr>
+
+ * pkg/src/RcppSexp.h: Added to preserver existing interface,
+ implementation use the redesigned class src/RObject.h
+
2010-01-01 Romain Francois <francoisromain at free.fr>
- * pkg/src/Rcpp/RObject.h: RObject::RObject constructors are
- replaced by the Rcpp::wrap set of functions. Currently the wrap
+ * pkg/src/Rcpp/RObject.h: RObject::RObject constructors are
+ replaced by the Rcpp::wrap set of functions. Currently the wrap
functions make a RObject object but it is likely that as new
- classes become available in the new API, wrap will return
+ classes become available in the new API, wrap will return
instances of classes that extend RObject.
-
+
* pkg/src/Rcpp/RObject.h: s/protect/preserve/, added methods
isPreserved and forgetPreserve
- * ** : adapted examples, code, and unit tests to reflect both
+ * ** : adapted examples, code, and unit tests to reflect both
above items
2009-12-31 Romain Francois <francoisromain at free.fr>
@@ -17,37 +22,37 @@
* src/Rcpp/Evaluator.h : new class Rcpp::Evaluator that eases
evaluation of R expression with error capture. so that we can for example
throw C++ exceptions
-
+
* src/Evaluator.cpp : implementation of Rcpp::Evaluator
-
+
* inst/unitTests/runit.evaluator: unit tests of Rcpp::Evaluator
-
+
* inst/Rcpp/RObject.h: RObject::RObject(SEXP) now initializes isProtected
-
+
* inst/src/Environment.cpp: use of exceptions
2009-12-30 Romain Francois <francoisromain at free.fr>
* src/Rcpp/Environment.h : added support for environment through the
Rcpp::Environment class
-
+
* src/Environment.cpp: idem
-
+
* inst/unitTests/runit.environments.R: testing the above
-
- * src/RcppCommon.h: now includes <R_ext/Callbacks.h>, needed for the
+
+ * src/RcppCommon.h: now includes <R_ext/Callbacks.h>, needed for the
environment support
-
+
2009-12-30 Romain Francois <francoisromain at free.fr>
* src/Makevars* : adapt for allowong copy of the Rcpp directory
-
+
* src/Rcpp_RObject.h: replace by src/Rcpp/RObject.h
-
+
* src/Rcpp_XPtr.h: replaced by src/Rcpp/XPtr.h
-
+
* src/*.cpp: adapt to the Rcpp directory
-
+
* cleanup: idem
2009-12-30 Romain Francois <francoisromain at free.fr>
@@ -65,60 +70,60 @@
* src/Rcpp_RObject.{h,cpp}: new namespace Rcpp and new class
Rcpp::RObject to replace RcppSexp with the same functionality.
-
+
* src/Rcpp_XPtr.h: replaces RcppXPtr.h and the class is now
Rcpp::XPtr<> and extends Rcpp::RObject
-
+
* inst/examples/RcppInline/external_pointer.r: use the new namespace
-
+
* inst/examples/RcppInline/RcppInlineWithLibsExamples.r: idem
-
+
* inst/examples/RcppInline/RcppSexpTests.r: idem
-
+
* DESCRIPTION: marked as version 0.7.0.5
-
+
* inst/doc/*: fake (empty) vignette and unit test trigger
-
+
* inst/unitTests/*: prepare the space for unit tests
-
+
* tests/doRUnit.R : added the usual RUnit tests trigger
2009-12-29 Romain Francois <francoisromain at free.fr>
* src/RcppXPtr.h: now RcppXPtr extends RcppSexp and RcppSexp manages
garbarge collection, attributes, etc ...
-
+
* src/exceptions.cpp: replaces src/exception_handling.cpp
-
+
* DESCRIPTION: now suggesting RUnit.
2009-12-29 Romain Francois <francoisromain at free.fr>
* src/RcppXPtr.h: added operator SEXP() to class
RcppXPtr to ease implicit conversion from RcppXPtr to SEXP.
- This means we can directly return the RcppXPtr object to R when the
- return type of the function is SEXP. (no need to explicitely call
+ This means we can directly return the RcppXPtr object to R when the
+ return type of the function is SEXP. (no need to explicitely call
asSexp anymore)
-
+
* src/RcppSexp.{h,cpp} : idem
-
+
2009-12-29 Romain Francois <francoisromain at free.fr>
- * src/RcppXPtr.h: new smart external pointer wrapper. The RcppXPtr
- template can be used to wrap a external pointer (SEXP) so that it
- looks like the dumb pointer it is wrapping (as far as the * and ->
+ * src/RcppXPtr.h: new smart external pointer wrapper. The RcppXPtr
+ template can be used to wrap a external pointer (SEXP) so that it
+ looks like the dumb pointer it is wrapping (as far as the * and ->
operator are concerned). The template parameter controls the type
- of object that is wrapped by the pointer.
-
+ of object that is wrapped by the pointer.
+
* src/Rcpp.h: importing the RcppXPtr.h header
-
+
* src/RcppExample.cpp: added an example of RcppXPtr usage
-
+
* inst/examples/RcppInline/external_pointer.r: added example using
the RcppXPtr template
-
+
* DESCRIPTION: marking this as 0.7.0.4
-
+
2009-12-28 Romain Francois <francoisromain at free.fr>
* R/exceptions.R: s/uncaught_cpp_exception/cpp_exception/ and added a
@@ -129,7 +134,7 @@
show how to grab details of the C++ exception
* src/exception_handling.cpp: factored out from RcppCommon.cpp, now
- able to grab the class name of the exception and its message.
+ able to grab the class name of the exception and its message.
2009-12-27 Dirk Eddelbuettel <edd at debian.org>
Modified: pkg/src/Evaluator.cpp
===================================================================
--- pkg/src/Evaluator.cpp 2010-01-02 09:34:34 UTC (rev 255)
+++ pkg/src/Evaluator.cpp 2010-01-02 14:49:24 UTC (rev 256)
@@ -24,24 +24,24 @@
namespace Rcpp {
- Evaluator::Evaluator( SEXP expression = R_NilValue) :
- expression(expression),
- result(R_NilValue),
- error(R_NilValue),
- error_occured(false){}
+ Evaluator::Evaluator( SEXP expression = R_NilValue) :
+ expression(expression),
+ error_occured(false),
+ result(R_NilValue),
+ error(R_NilValue) {}
- Evaluator::~Evaluator(){}
+ Evaluator::~Evaluator(){}
- void Evaluator::run(SEXP env ){
- Environment rcpp = Environment::namespace_env("Rcpp") ;
- SEXP call = Rf_lang3( Rf_install("protectedEval"), expression, env ) ;
- result = wrap( Rf_eval( call, rcpp ) );
- result.preserve() ;
- error_occured = LOGICAL( Rf_eval( Rf_lang1( Rf_install("errorOccured")) , rcpp) )[0] ;
- if( error_occured ){
- error = wrap( Rf_eval( Rf_lang1(Rf_install("getCurrentError")) , rcpp) );
- error.preserve() ;
- }
+ void Evaluator::run(SEXP env ){
+ Environment rcpp = Environment::namespace_env("Rcpp") ;
+ SEXP call = Rf_lang3( Rf_install("protectedEval"), expression, env ) ;
+ result = wrap( Rf_eval( call, rcpp ) );
+ result.preserve() ;
+ error_occured = LOGICAL( Rf_eval( Rf_lang1( Rf_install("errorOccured")) , rcpp) )[0] ;
+ if( error_occured ){
+ error = wrap( Rf_eval( Rf_lang1(Rf_install("getCurrentError")) , rcpp) );
+ error.preserve() ;
}
+ }
} // namespace Rcpp
Modified: pkg/src/Rcpp/Evaluator.h
===================================================================
--- pkg/src/Rcpp/Evaluator.h 2010-01-02 09:34:34 UTC (rev 255)
+++ pkg/src/Rcpp/Evaluator.h 2010-01-02 14:49:24 UTC (rev 256)
@@ -30,17 +30,17 @@
class Evaluator{
public:
- Evaluator(SEXP expression ) ;
- ~Evaluator() ;
- void run(SEXP env) ;
- inline RObject getResult() const { return result ; }
- inline RObject getError() const { return error ; }
+ Evaluator(SEXP expression ) ;
+ ~Evaluator() ;
+ void run(SEXP env) ;
+ inline RObject getResult() const { return result ; }
+ inline RObject getError() const { return error ; }
private:
- SEXP expression ;
- bool error_occured ;
- RObject result ;
- RObject error ;
+ SEXP expression ;
+ bool error_occured ;
+ RObject result ;
+ RObject error ;
};
} // namespace Rcpp
More information about the Rcpp-commits
mailing list