From dsamperi at DecisionSynergy.com  Fri Feb 24 23:30:22 2006
From: dsamperi at DecisionSynergy.com (Dominick Samperi)
Date: Fri, 24 Feb 2006 17:30:22 -0500
Subject: [Rd] Rcpp, best method for linking to
In-Reply-To: <1140818590.30443.8.camel@populus.fr.umn.edu>
References: <BFBA7186C5B3CB4C8EA0B509FA9090B3035B1C60@exchange.systemsbiology.net>
	<1140818590.30443.8.camel@populus.fr.umn.edu>
Message-ID: <43FF88FE.2020605@DecisionSynergy.com>


Hi Andy (and Andy),

I'm not sure why there should be any licensing issues. R itself is GPL-ed,
so I just followed this convention.

Of course, you can do it yourself with extern "C" and all that. The
purpose of Rcpp.{cpp,hpp} is to enable you to write
readable code (for a C++ programmer) while hiding the error-prone
macro gymnastics that is required to fetch R parameters when using
the .Call interface. There is also a fair amount of type checking done
in the Rcpp package that relieves you of the trouble of putting many
checks in your R code.

If you are using the older, simpler .C interface this may not be
important to you. But note that the same functionality is available
through Rcpp, with the added convenience that list item names
are not dropped like they are when you use the .C interface.

Dominick

Andrew Finley wrote:
> Hi Andy,
> Follow the suggestions for c++ in the Writing R Extensions document.
> Wrap your c++ code in extern "C"{}, include your classes in the includes
> (e.g., #include "myclass.h") and put the myclass.h and myclass.cpp in
> the src directory along with your other code. Then R CMD build ... and R
> CMD INSTALL ...  This works for me. 
> -Andy
>
>
> On Fri, 2006-02-24 at 13:11 -0800, Andrew Garbutt wrote:
>   
>> Dear all,
>>
>>  
>>
>> After a bit of reading I came across the Rcpp example package.  There
>> are a few classes that I would like to use and I am not sure how best to
>> include them in my own package.  Is it best to compile it as an
>> independent library and link to it? Or is there some way to `require` it
>> for my own package?  Re-write using the code as an example (unsure how
>> best to do this at this moment, as the Rcpp package is licensed under
>> the GPL v2 and I am unsure of the license that I wish to use for my own
>> package.)  Any thoughts or ideas would be appreciated.
>>
>>  
>>
>> Thanks,
>>
>> Andy 
>>
>>
>> 	[[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>



[Rd] Rcpp, best method for linking to
Dominick Samperi