Message-ID: <8ec76081001071143kf8c3982n5ef6091cb3a0ba10@mail.gmail.com>
Date: 2010-01-07T19:43:32Z
From: Whit Armstrong
Subject: [Rcpp-devel] today's commits overview
In-Reply-To: <4B462DD5.1000500@free.fr>
you're on fire!
are you working on this full time?
-Whit
2010/1/7 Romain Fran?ois <francoisromain at free.fr>:
> Today has been a Rcpp commit day :-)
>
> We now have classes for most of the SEXP types:
>
> SYMSXP ? ? ? ? ?Symbol
> LISTSXP ? ? ? ? Pairlist
> CLOSXP ? ? ? ? ?Function
> ENVSXP ? ? ? ? ?Environment
> PROMSXP ? ? ? ? Promise
> LANGSXP ? ? ? ? Language
> SPECIALSXP ? ? ?Function
> BUILTINSXP ? ? ?Function
> LGLSXP ? ? ? ? ?LogicalVector
> INTSXP ? ? ? ? ?IntegerVector
> REALSXP ? ? ? ? NumericVector
> CPLXSXP ? ? ? ? ComplexVector
> STRSXP ? ? ? ? ?CharacterVector
> VECSXP ? ? ? ? ?GenericVector a.k.a List
> EXPRSXP ? ? ? ? ExpressionVector
> EXTPTRSXP ? ? ? XPtr
> WEAKREFSXP ? ? ?WeakReference
> RAWSXP ? ? ? ? ?RawVector
>
> I have also added methods to deal with S4 objects (in the RObject class
> since an S4 object can be of any SEXP type): hasSlot, isS4 and slot.
>
>
> For GenericVector and CharacterVector, I have implemented the proxy
> pattern as described in item 30 of More Effective C++, so that we can do :
>
> CharacterVector x(10) ; /* create a character vector of 10 strings */
> x[0] ; /* gets the first element */
> x[1] = "foo" ; /* sets the second element */
>
> List y(3) ;
> y[0] = 1 ; /* 1 gets wrap()'ed into a IntegerVector */
> y[1] = "foo" ; /* foo gets wrap()'ed into a CharacterVector */
> y[2] = false ; /* false gets wrap()'ed into a LogicalVector */
>
> As usual, many examples have been added in the unit tests.
>
> Romain
>
> --
> Romain Francois
> Professional R Enthusiast
> +33(0) 6 28 91 30 30
> http://romainfrancois.blog.free.fr
> |- http://tr.im/JFqa : R Journal, Volume 1/2, December 2009
> |- http://tr.im/IW9B : C++ exceptions at the R level
> `- http://tr.im/IlMh : CPP package: exposing C++ objects
>
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
>