[Rcpp-commits] r3770 - pkg/Rcpp/inst

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Sun Sep 16 15:47:40 CEST 2012


Author: edd
Date: 2012-09-16 15:47:40 +0200 (Sun, 16 Sep 2012)
New Revision: 3770

Added:
   pkg/Rcpp/inst/NEWS.Rd
Removed:
   pkg/Rcpp/inst/NEWS
Log:
renamed NEWS as NEWS.Rd


Deleted: pkg/Rcpp/inst/NEWS
===================================================================
--- pkg/Rcpp/inst/NEWS	2012-09-16 13:47:11 UTC (rev 3769)
+++ pkg/Rcpp/inst/NEWS	2012-09-16 13:47:40 UTC (rev 3770)
@@ -1,938 +0,0 @@
-\name{NEWS}
-\title{News for Package 'Rcpp'}
-\section{Changes in Rcpp version 0.9.14 (2012-xx-yy)}{
-  \itemize{
-    \item Added new Rcpp sugar functions trunc(), round() and signif(), as well
-             as unit tests for them
-    \item Be more conservative about where we support clang++ and the inclusion
-             of exception_defines.h and prevent this from being attempted on OS X
-             where it failed for clang 3.1
-    \item Corrected a typo in Module.h who now again permits use of finalizers
-    \item Small correction for (unexported) bib() function (which provides a path
-             to the bibtex file that ships with Rcpp)
-  }
-}
-\section{Changes in Rcpp version 0.9.13 (2012-06-28)}{
-  \itemize{
-    \item Truly corrected Rcpp::Environment class by having default constructor
-             use the global environment, and removing the default argument of
-             global environment from the SEXP constructor
-    \item Added tests for clang++ version to include bits/exception_defines.h
-             for versions 3.0 or higher (similar to g++ 4.6.0 or later), needed to
-      include one particular exceptions header
-    \item Made more regression tests conditional on the RunAllRcppTests to come
-             closer to the CRAN mandate of running tests in sixty seconds
-    \item Updated unit test wrapper tests/doRUnit.R as well as unitTests/runTests.R
-  }
-}
-\section{Changes in Rcpp version 0.9.12 (2012-06-23)}{
-  \itemize{
-    \item Corrected Rcpp::Environment class by removing (empty) ctor following
-             rev3592 (on May 2) where default argument for ctor was moved
-    \item Unit testing now checks for environment variable RunAllRcppTests being
-             set to "yes"; otherwise some tests are skipped. This is arguably not
-             the right thing to do, but CRAN maintainers insist on faster tests.
-    \item Unit test wrapper script runTests.R has new option --allTests to set
-             the environment variable
-    \item The cleanup script now also considers inst/unitTests/testRcppClass/src 
-  }
-}
-\section{Changes in Rcpp version 0.9.11 (2012-06-22)}{
-  \itemize{
-    \item New member function for vectors (and lists etc) containsElementNamed() 
-             which returns a boolean indicating if the given element name is present
-    \item Updated the Rcpp.package.skeleton() support for Rcpp modules by
-             carrying functions already present from the corresponding unit test
-      which was also slightly expanded; and added more comments to the code 
-    \item Rcpp modules can now be loaded via loadRcppModules() from .onLoad(),
-             or via loadModule("moduleName") from any R file 
-    \item Extended functionality to let R modify C++ clases imported via modules
-             documented in help(setRcppClass)
-    \item Support compilation in Cygwin thanks to a patch by Dario Buttari
-    \item Extensions to the Rcpp-FAQ and the Rcpp-modules vignettes
-    \item The minium version of R is now 2.15.1 which is required for some of
-             the Rcpp modules support 
-  }
-}
-\section{Changes in Rcpp version 0.9.10 (2012-02-16)}{
-  \itemize{
-    \item Rearrange headers so that Rcpp::Rcout can be used by RcppArmadillo et al
-    \item New Rcpp sugar function mapply (limited to two or three input vectors)
-    \item Added custom version of the Rcpp sugar diff function for numeric vectors
-             skipping unncesserry checks for NA
-    \item Some internal code changes to reflect changes and stricter requirements
-             in R CMD check in the current R-devel versions
-    \item Corrected fixed-value initialization for IntegerVector (with thanks to
-             Gregor Kastner for spotting this)
-    \item New Rcpp-FAQ entry on simple way to set compiler option for cxxfunction
-  }
-}
-\section{Changes in Rcpp version 0.9.9 (2012-12-25)}{
-  \itemize{
-    \item Reverting the 'int64' changes from release 0.9.8 which adversely
-         	affect packages using Rcpp: We will re-apply the 'int64' changes in a 
-      way which should cooperate more easily with 'long' and 'unsigned long'.
-    \item Unit test output directory fallback changed to use Rcpp.Rcheck
-    \item Conditioned two unit tests to not run on Windows where they now break
-             whereas they passed before, and continue to pass on other OSs
-  }
-}
-\section{Changes in Rcpp version 0.9.8 (2011-12-21)}{
-  \itemize{
-    \item wrap now handles 64 bit integers (int64_t, uint64_t) and containers 
-             of them, and Rcpp now depends on the int64 package (also on CRAN).
-             This work has been sponsored by the Google Open Source Programs
-             Office.
-    \item Added setRcppClass() function to create extended reference classes 
-             with an interface to a C++ class (typically via Rcpp Module) which
-      can have R-based fields and methods in addition to those from the C++.
-    \item Applied patch by Jelmer Ypma which adds an output stream class
-         	'Rcout' not unlike std::cout, but implemented via Rprintf to
-         	cooperate with R and its output buffering.
-    \item New unit tests for pf(), pnf(), pchisq(), pnchisq() and pcauchy()
-    \item XPtr constructor now checks for corresponding type in SEXP
-    \item Updated vignettes for use with updated highlight package
-    \item Update linking command for older fastLm() example using external 
-             Armadillo
-  }
-}
-\section{Changes in Rcpp version 0.9.7 (2011-09-29)}{
-  \itemize{
-    \item Applied two patches kindly provided by Martyn Plummer which provide
-         	support for compilation on Solaris using the SunPro compiler
-    \item Minor code reorganisation in which exception specifiers are removed;
-             this effectively only implements a run-time (rather than compile-time) 
-             check and is generally seen as a somewhat depreated C++ idiom. Thanks
-             to Darren Cook for alerting us to this issue.
-    \item New example 'OpenMPandInline.r' in the OpenMP/ directory, showing how
-             easily use OpenMP by modifying the RcppPlugin output
-    \item New example 'ifelseLooped.r' showing Rcpp can accelerate loops that may
-      be difficult to vectorise due to dependencies
-    \item New example directory examples/Misc/ regrouping the new example as
-             well as the fibonacci example added in Rcpp 0.9.6
-    \item New Rcpp-FAQ example warning of lossy conversion from 64-bit long
-             integer types into a 53-bit mantissa which has no clear fix yet.
-    \item New unit test for accessing a non-exported function from a namespace
-  }
-}
-\section{Changes in Rcpp version 0.9.6 (2011-07-26)}{
-  \itemize{
-    \item Added helper traits to facilitate implementation of the RcppEigen
-      package: The is_eigen_base traits identifies if a class derives from
-      EigenBase using SFINAE; and new dispatch layer was added to wrap() to
-      help RcppEigen
-    \item XPtr now accepts a second template parameter, which is a function
-             taking a pointer to the target class. This allows the developper to
-             supply his/her own finalizer. The template parameter has a default
-             value which retains the original behaviour (calling delete on the
-             pointer)
-    \item New example RcppGibbs, extending Sanjog Misra's Rcpp illustration of
-             Darren Wilkinson's comparison of MCMC Gibbs Sampler implementations;
-      also added short timing on Normal and Gaussian RNG draws between Rcpp
-      and GSL as R's rgamma() is seen to significantly slower
-    \item New example on recursively computing a Fibonacci number using Rcpp and
-             comparing this to R and byte-compiled R for a significant speed gain
-  }
-}
-\section{Changes in Rcpp version 0.9.5 (2011-07-05)}{
-  \itemize{
-    \item New Rcpp-FAQ examples on using the plugin maker for inline's
-             cxxfunction(), and on setting row and column names for matrices
-    \item New sugar functions: mean, var, sd
-    \item Minor correction and extension to STL documentation in Rcpp-quickref
-    \item wrap() is now resilient to NULL pointers passed as in const char *
-    \item loadRcppModules() gains a "direct" argument to expose the module instead
-             of exposing what is inside it
-    \item Suppress a spurious warning from R CMD check on packages created with
-             Rcpp.package.skeleton(..., module=TRUE)
-    \item Some fixes and improvements for Rcpp sugar function 'rlnorm()'
-    \item Beginnings of new example using OpenMP and recognising user interrupts
-  }
-}
-\section{Changes in Rcpp version 0.9.4 (2011-04-12)}{
-  \itemize{
-    \item New R function "loadRcppModules" to load Rcpp modules automatically
-             from a package. This function must be called from the .onLoad function
-             and works with the "RcppModules" field of the package's DESCRIPTION file
-    \item The Modules example wrapped the STL std::vector received some editing
-             to disambiguate some symbols the newer compilers did not like
-    \item Coercing of vectors of factors is now done with an explicit callback
-             to R's "as.character()" as Rf_coerceVector no longer plays along
-    \item A CITATION file for the published JSS paper has been added, and 
-             references were added to Rcpp-package.Rd and the different vignettes
-  }
-}
-\section{Changes in Rcpp version 0.9.3 (2011-04-05)}{
-  \itemize{
-    \item Fixed a bug in which modules code was not behaving when compiled 
-             twice as can easily happen with inline'ed version
-    \item Exceptions code includes exception_defines.h only when g++ is 4.5 or
-             younger as the file no longer exists with g++-4.6
-    \item The documentation Makefile now uses the $R_HOME environment variable
-    \item The documentation Makefile no longer calls clean in the all target
-    \item C++ conformance issue found by clang/llvm addressed by re-ordering
-             declarations in grow.h as unqualified names must be declared before
-             they are used, even when used within templates
-    \item The 'long long' typedef now depends on C++0x being enabled as this
-             was not a feature in C++98; this suppresses a new g++-4.5 warning
-    \item The Rcpp-introduction vignette was updated to the forthcoming JSS paper
-  }
-}
-\section{Changes in Rcpp version 0.9.2 (2011-02-23)}{
-  \itemize{
-    \item The unitTest runit.Module.client.package.R is now skipped on older OS
-             X releases as it triggers a bug with g++ 4.2.1 or older; OS X 10.6 is
-             fine but as it no longer support ppc we try to accomodate 10.5 too
-             Thanks to Simon Urbanek for pinning this down and Baptiste Auguie
-             and Ken Williams for additonal testing 
-    \item RcppCommon.h now recognises the Intel Compiler thanks to a short
-             patch by Alexey Stukalov; this turns off Cxx0x and TR1 features too
-    \item Three more setup questions were added to the Rcpp-FAQ vignette
-    \item One question about RcppArmadillo was added to the Rcpp-FAQ vignette
-  }
-}
-\section{Changes in Rcpp version 0.9.1 (2011-02-14)}{
-  \itemize{
-    \item A number of internal changes to the memory allocation / protection of
-             temporary objects were made---with a heartfelt "Thank You!" to both
-             Doug Bates for very persistent debugging of Rcpp modules code, and to
-             Luke Tierney who added additional memory allocation debugging tools
-             to R-devel (which will be in R 2.13.0 and may also be in R 2.12.2)
-    \item Removed another GNU Make-specific variable from src/Makevars in order
-             to make the build more portable; this was noticed on FreeBSD
-    \item On *BSD, do not try to compute a stack trace but provide file and
-             line number (which is the same behaviour as implemented in Windows)
-    \item Fixed an int conversion bug reported by Daniel Sabanes Bove on r-devel,
-             added unit test as well
-    \item Added unit tests for complex-typed vectors (thanks to Christian Gunning)
-    \item Expanded the Rcpp-quickref vignette (with thanks to Christian Gunning)
-    \item Additional examples were added to the Rcpp-FAQ vignette
-  }
-}
-\section{Changes in Rcpp version 0.9.0 (2010-12-19)}{
-  \itemize{
-    \item The classic API was factored out into its own package RcppClassic which
-             is released concurrently with this version.
-    \item If an object is created but not initialized, attempting to use
-             it now gives a more sensible error message (by forwarding an
-             Rcpp::not_initialized exception to R).
-    \item SubMatrix fixed, and Matrix types now have a nested ::Sub typedef.
-    \item New unexported function SHLIB() to aid in creating a shared library on
-             the command-line or in Makefile (similar to CxxFlags() / LdFlags()).
-    \item Module gets a seven-argument ctor thanks to a patch from Tama Ma.
-    \item The (still incomplete) QuickRef vignette has grown thanks to a patch
-             by Christian Gunning.
-    \item Added a sprintf template intended for logging and error messages.
-    \item Date::getYear() corrected (where addition of 1900 was not called for); 
-             corresponding change in constructor from three ints made as well.
-    \item Date() and Datetime() constructors from string received a missing
-             conversion to int and double following strptime. The default format
-             string for the Datetime() strptime call was also corrected.
-    \item A few minor fixes throughout, see ChangeLog.
-  }
-}
-\section{Changes in Rcpp version 0.8.9 (2010-11-27)}{
-  \itemize{
-    \item Many improvements were made in 'Rcpp modules':
-             - exposing multiple constructors
-             - overloaded methods
-             - self-documentation of classes, methods, constructors, fields and 
-               functions.
-             - new R function "populate" to facilitate working with modules in 
-               packages. 
-             - formal argument specification of functions.
-             - updated support for Rcpp.package.skeleton.
-             - constructors can now take many more arguments.
-    \item The 'Rcpp-modules' vignette was updated as well and describe many
-             of the new features
-    \item New template class Rcpp::SubMatrix<RTYPE> and support syntax in Matrix
-             to extract a submatrix: 
-                NumericMatrix x = ... ;
-                // extract the first three columns
-                SubMatrix<REALSXP> y = x( _ , Range(0,2) ) ; 
-                // extract the first three rows
-                SubMatrix<REALSXP> y = x( Range(0,2), _ ) ; 
-                // extract the top 3x3 sub matrix
-                SubMatrix<REALSXP> y = x( Range(0,2), Range(0,2) ) ; 
-    \item Reference Classes no longer require a default constructor for
-             subclasses of C++ classes    
-    \item Consistently revert to using backticks rather than shell expansion
-             to compute library file location when building packages against Rcpp
-      on the default platforms; this has been applied to internal test
-             packages as well as CRAN/BioC packages using Rcpp
-  }
-}
-\section{Changes in Rcpp version 0.8.8 (2010-11-01)}{
-  \itemize{
-    \item New syntactic shortcut to extract rows and columns of a Matrix. 
-             x(i,_) extracts the i-th row and x(_,i) extracts the i-th column. 
-    \item Matrix indexing is more efficient. However, faster indexing is
-             disabled if g++ 4.5.0 or later is used.
-    \item A few new Rcpp operators such as cumsum, operator=(sugar)
-    \item Variety of bug fixes:
-             - column indexing was incorrect in some cases
-             - compilation using clang/llvm (thanks to Karl Millar for the patch)
-      - instantation order of Module corrected
-             - POSIXct, POSIXt now correctly ordered for R 2.12.0 
-  }
-}
-\section{Changes in Rcpp version 0.8.7 (2010-10-15)}{
-  \itemize{
-    \item As of this version, Rcpp depends on R 2.12 or greater as it interfaces
-             the new reference classes (see below) and also reflects the POSIXt
-             class reordering both of which appeared with R version 2.12.0
-    \item new Rcpp::Reference class, that allows internal manipulation of R
-             2.12.0 reference classes. The class exposes a constructor that takes
-             the name of the target reference class and a field(string) method
-             that implements the proxy pattern to get/set reference fields using
-             callbacks to the R operators "$" and "$<-" in order to preserve the
-             R-level encapsulation
-    \item the R side of the preceding item allows methods to be written in R as
-             per ?ReferenceClasses, accessing fields by name and assigning them
-             using "<<-".  Classes extracted from modules are R reference classes.
-             They can be subclassed in R, and/or R methods can be defined using
-             the $methods(...) mechanism.
-    \item internal performance improvements for Rcpp sugar as well as an added
-             'noNA()' wrapper to omit tests for NA values -- see the included
-             examples in inst/examples/convolveBenchmarks for the speedups
-    \item more internal performance gains with Functions and Environments
-  }
-}
-\section{Changes in Rcpp version 0.8.6 (2010-09-09)}{
-  \itemize{
-    \item new macro RCPP_VERSION and Rcpp_Version to allow conditional compiling
-             based on the version of Rcpp
-                #if defined(RCPP_VERSION) && RCPP_VERSION >= Rcpp_Version(0,8,6)
-                #endif
-    \item new sugar functions for statistical distributions (d-p-q-r functions)
-      with distributions : unif, norm, gamma, chisq, lnorm, weibull, logis,
-      f, pois, binom, t, beta.
-    \item new ctor for Vector taking size and function pointer so that for example
-         	   NumericVector( 10, norm_rand )
-      generates a N(0,1) vector of size 10
-    \item added binary operators for complex numbers, as well as sugar support 
-    \item more sugar math functions: sqrt, log, log10, exp, sin, cos, ...
-    \item started new vignette Rcpp-quickref : quick reference guide of Rcpp API
-             (still work in progress)
-    \item various patches to comply with solaris/suncc stricter standards
-    \item minor enhancements to ConvolutionBenchmark example
-    \item simplified src/Makefile to no longer require GNU make; packages using
-             Rcpp still do for the compile-time test of library locations
-  }
-}
-\section{Changes in Rcpp version 0.8.5 (2010-07-25)}{
-  \itemize{
-    \item speed improvements. Vector::names, RObject::slot have been improved
-             to take advantage of R API functions instead of callbacks to R
-    \item Some small updates to the Rd-based documentation which now points to 
-             content in the vignettes.  Also a small formatting change to suppress
-      a warning from the development version of R.
-    \item Minor changes to Date() code which may reenable SunStudio builds
-  }
-}
-\section{Changes in Rcpp version 0.8.4 (2010-07-09)}{
-  \itemize{
-    \item new sugar vector functions: rep, rep_len, rep_each, rev, head, tail,
-      diag
-    \item sugar has been extended to matrices: The Matrix class now extends the 
-         	Matrix_Base template that implements CRTP. Currently sugar functions 
-         	for matrices are: outer, col, row, lower_tri, upper_tri, diag
-    \item The unit tests have been reorganised into fewer files with one call
-      	each to cxxfunction() (covering multiple tests) resulting in a
-      	significant speedup
-    \item The Date class now uses the same mktime() replacement that R uses
-             (based on original code from the timezone library by Arthur Olson)
-      permitting wide date ranges on all operating systems
-    \item The FastLM example has been updated, a new benchmark based on the
-             historical Longley data set has been added
-    \item RcppStringVector now uses std::vector<std::string> internally
-    \item setting the .Data slot of S4 objects did not work properly
-  }
-}
-\section{Changes in Rcpp version 0.8.3 (2010-06-27)}{
-  \itemize{
-    \item This release adds Rcpp sugar which brings (a subset of) the R syntax
-             into C++. This supports : 
-              - binary operators : <,>,<=,>=,==,!= between R vectors
-              - arithmetic operators: +,-,*,/ between compatible R vectors
-              - several functions that are similar to the R function of the same name:
-             abs, all, any, ceiling, diff, exp, ifelse, is_na, lapply, pmin, pmax, 
-             pow, sapply, seq_along, seq_len, sign
-             Simple examples :
-               // two numeric vector of the same size
-               NumericVector x ;
-               NumericVector y ;
-               NumericVector res = ifelse( x < y, x*x, -(y*y) ) ;
-               // sapply'ing a C++ function
-               double square( double x )\{ return x*x ; \}
-               NumericVector res = sapply( x, square ) ;
-             Rcpp sugar uses the technique of expression templates, pioneered by the 
-             Blitz++ library and used in many libraries (Boost::uBlas, Armadillo). 
-             Expression templates allow lazy evaluation of expressions, which 
-             coupled with inlining generates very efficient code, very closely 
-             approaching the performance of hand written loop code, and often
-             much more efficient than the equivalent (vectorized) R code.
-             Rcpp sugar is curently limited to vectors, future releases will 
-             include support for matrices with sugar functions such as outer, etc ...
-             Rcpp sugar is documented in the Rcpp-sugar vignette, which contains
-             implementation details.
-    \item New helper function so that "Rcpp?something" brings up Rcpp help
-    \item Rcpp Modules can now expose public data members
-    \item New classes Date, Datetime, DateVector and DatetimeVector with proper
-             'new' API integration such as as(), wrap(), iterators, ...
-    \item The so-called classic API headers have been moved to a subdirectory
-             classic/ This should not affect client-code as only Rcpp.h was ever
-             included.
-    \item RcppDate now has a constructor from SEXP as well
-    \item RcppDateVector and RcppDatetimeVector get constructors from int
-             and both const / non-const operator(int i) functions
-    \item New API class Rcpp::InternalFunction that can expose C++ functions
-         	to R without modules. The function is exposed as an S4 object of 
-         	class C++Function
-  }
-}
-\section{Changes in Rcpp version 0.8.2 (2010-06-09)}{
-  \itemize{
-    \item Bug-fix release for suncc compiler with thanks to Brian Ripley for
-             additional testing.
-  }
-}
-\section{Changes in Rcpp version 0.8.1 (2010-06-08)}{
-  \itemize{
-    \item This release adds Rcpp modules. An Rcpp module is a collection of
-             internal (C++) functions and classes that are exposed to R. This
-             functionality has been inspired by Boost.Python.
-             Modules are created internally using the RCPP_MODULE macro and
-             retrieved in the R side with the Module function. This is a preview 
-             release of the module functionality, which will keep improving until
-             the Rcpp 0.9.0 release. 
-             The new vignette "Rcpp-modules" documents the current feature set of
-             Rcpp modules.
-    \item The new vignette "Rcpp-package" details the steps involved in making a
-             package that uses Rcpp.
-    \item The new vignette "Rcpp-FAQ" collects a number of frequently asked
-             questions and answers about Rcpp.
-    \item The new vignette "Rcpp-extending" documents how to extend Rcpp
-             with user defined types or types from third party libraries. Based on
-             our experience with RcppArmadillo
-    \item Rcpp.package.skeleton has been improved to generate a package using 
-             an Rcpp module, controlled by the "module" argument
-    \item Evaluating a call inside an environment did not work properly
-    \item cppfunction has been withdrawn since the introduction of the more
-             flexible cxxfunction in the inline package (0.3.5). Rcpp no longer
-             depends on inline since many uses of Rcpp do not require inline at
-             all. We still use inline for unit tests but this is now handled
-             locally in the unit tests loader runTests.R. 
-             Users of the now-withdrawn function cppfunction can redefine it as:
-                cppfunction <- function(...) cxxfunction( ..., plugin = "Rcpp" )
-    \item Support for std::complex was incomplete and has been enhanced.
-    \item The methods XPtr<T>::getTag and XPtr<T>::getProtected are deprecated, 
-             and will be removed in Rcpp 0.8.2. The methods tag() and prot() should
-             be used instead. tag() and prot() support both LHS and RHS use. 
-    \item END_RCPP now returns the R Nil values; new macro VOID_END_RCPP
-             replicates prior behabiour
-  }
-}
-\section{Changes in Rcpp version 0.8.0 (2010-05-17)}{
-  \itemize{
-    \item All Rcpp headers have been moved to the inst/include directory,
-             allowing use of 'LinkingTo: Rcpp'. But the Makevars and Makevars.win
-             are still needed to link against the user library.
-    \item Automatic exception forwarding has been withdrawn because of
-             portability issues (as it did not work on the Windows platform).
-             Exception forwarding is still possible but is now based on explicit
-             code of the form:
-               try \{
-                 // user code
-               \} catch( std::exception& __ex__)\{ 
-                 forward_exception_to_r( __ex___ ) ;
-             Alternatively, the macro BEGIN_RCPP and END_RCPP can use used to enclose
-             code so that it captures exceptions and forward them to R. 
-               BEGIN_RCPP
-               // user code
-               END_RCPP
-    \item new __experimental__ macros 
-             The macros RCPP_FUNCTION_0, ..., RCPP_FUNCTION_65 to help creating C++
-             functions hiding some code repetition: 
-               RCPP_FUNCTION_2( int, foobar, int x, int y)\{
-                return x + y ;
-             The first argument is the output type, the second argument is the
-             name of the function, and the other arguments are arguments of the
-             C++ function. Behind the scenes, the RCPP_FUNCTION_2 macro creates an
-             intermediate function compatible with the .Call interface and handles
-             exceptions
-             Similarly, the macros RCPP_FUNCTION_VOID_0, ..., RCPP_FUNCTION_VOID_65 
-             can be used when the C++ function to create returns void. The generated
-             R function will return R_NilValue in this case.
-               RCPP_FUNCTION_VOID_2( foobar, std::string foo )\{
-                // do something with foo
-             The macro RCPP_XP_FIELD_GET generates a .Call compatible function that
-             can be used to access the value of a field of a class handled by an 
-             external pointer. For example with a class like this: 
-               class Foo\{
-                 public:
-                   int bar ;
-               RCPP_XP_FIELD_GET( Foo_bar_get, Foo, bar ) ;
-             RCPP_XP_FIELD_GET will generate the .Call compatible function called
-             Foo_bar_get that can be used to retrieved the value of bar.
-             The macro RCPP_FIELD_SET generates a .Call compatible function that 
-             can be used to set the value of a field. For example:
-               RCPP_XP_FIELD_SET( Foo_bar_set, Foo, bar ) ;
-             generates the .Call compatible function called "Foo_bar_set" that 
-             can be used to set the value of bar
-             The macro RCPP_XP_FIELD generates both getter and setter. For example
-               RCPP_XP_FIELD( Foo_bar, Foo, bar )
-             generates the .Call compatible Foo_bar_get and Foo_bar_set using the 
-             macros RCPP_XP_FIELD_GET and RCPP_XP_FIELD_SET previously described
-             The macros RCPP_XP_METHOD_0, ..., RCPP_XP_METHOD_65 faciliate 
-             calling a method of an object that is stored in an external pointer. For 
-             example: 
-               RCPP_XP_METHOD_0( foobar, std::vector<int> , size )
-             creates the .Call compatible function called foobar that calls the
-             size method of the std::vector<int> class. This uses the Rcpp::XPtr<
-             std::vector<int> > class.
-             The macros RCPP_XP_METHOD_CAST_0, ... is similar but the result of
-             the method called is first passed to another function before being
-             wrapped to a SEXP.  For example, if one wanted the result as a double
-               RCPP_XP_METHOD_CAST_0( foobar, std::vector<int> , size, double )
-             The macros RCPP_XP_METHOD_VOID_0, ... are used when calling the
-             method is only used for its side effect.
-              RCPP_XP_METHOD_VOID_1( foobar, std::vector<int>, push_back ) 
-             Assuming xp is an external pointer to a std::vector<int>, this could
-             be called like this :
-               .Call( "foobar", xp, 2L )
-    \item Rcpp now depends on inline (>= 0.3.4)
-    \item A new R function "cppfunction" was added which invokes cfunction from
-             inline with focus on Rcpp usage (enforcing .Call, adding the Rcpp
-             namespace, set up exception forwarding). cppfunction uses BEGIN_RCPP
-             and END_RCPP macros to enclose the user code
-    \item new class Rcpp::Formula to help building formulae in C++
-    \item new class Rcpp::DataFrame to help building data frames in C++
-    \item Rcpp.package.skeleton gains an argument "example_code" and can now be
-             used with an empty list, so that only the skeleton is generated. It
-             has also been reworked to show how to use LinkingTo: Rcpp
-    \item wrap now supports containers of the following types: long, long double,
-             unsigned long, short and unsigned short which are silently converted
-             to the most acceptable R type.
-    \item Revert to not double-quote protecting the path on Windows as this
-             breaks backticks expansion used n Makevars.win etc
-    \item Exceptions classes have been moved out of Rcpp classes,
-             e.g. Rcpp::RObject::not_a_matrix is now Rcpp::not_a_matrix
-  }
-}
-\section{Changes in Rcpp version 0.7.12 (2010-04-16)}{
-  \itemize{
-    \item Undo shQuote() to protect Windows path names (which may contain
-             spaces) as backticks use is still broken; use of $(shell ...) works
-  }
-}
-\section{Changes in Rcpp version 0.7.11 (2010-03-26)}{
-  \itemize{
-    \item Vector<> gains a set of templated factory methods "create" which
-             takes up to 20 arguments and can create named or unnamed vectors.
-             This greatly facilitates creating objects that are returned to R. 
-    \item Matrix now has a diag() method to create diagonal matrices, and
-             a new constructor using a single int to create square matrices
-    \item Vector now has a new fill() method to propagate a single value
-    \item Named is no more a class but a templated function. Both interfaces
-             Named(.,.) and Named(.)=. are preserved, and extended to work also on
-             simple vectors (through Vector<>::create)
-    \item Applied patch by Alistair Gee to make ColDatum more robust
-    \item Fixed a bug in Vector that caused random behavior due to the lack of
-             copy constructor in the Vector template
-  }
-}
-\section{Changes in Rcpp version 0.7.10 (2010-03-15)}{
-  \itemize{
-    \item new class Rcpp::S4 whose constructor checks if the object is an S4
-             object
-    \item maximum number of templated arguments to the pairlist function, the
-             DottedPair constructor, the Language constructor and the Pairlist
-             constructor has been updated to 20 (was 5) and a script has been
-             added to the source tree should we want to change it again
-    \item use shQuote() to protect Windows path names (which may contain spaces)
-  }
-}
-\section{Changes in Rcpp version 0.7.9 (2010-03-12)}{
-  \itemize{
-    \item Another small improvement to Windows build flags
-    \item bugfix on 64 bit platforms. The traits classes (wrap_type_traits, etc)
-             used size_t when they needed to actually use unsigned int
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/rcpp -r 3770


More information about the Rcpp-commits mailing list