File: rinside_module_sample0.cpp

package info (click to toggle)
r-cran-rinside 0.2.19-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 668 kB
  • sloc: cpp: 3,310; ansic: 117; xml: 57; ruby: 34; makefile: 2
file content (37 lines) | stat: -rw-r--r-- 1,073 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4;  tab-width: 4; -*-
//
// Simple example showing how expose a C++ function
//
// Copyright (C) 2010 - 2012  Dirk Eddelbuettel and Romain Francois

#include <RInside.h>                    // for the embedded R via RInside

// a c++ function we wish to expose to R
const char* hello( std::string who ){
    std::string result( "hello " ) ;
    result += who ;
    return result.c_str() ;
} 

// RCPP_MODULE(bling){
//     using namespace Rcpp ;
//     function( "hello", &hello );
// }

int main(int argc, char *argv[]) {

    // create an embedded R instance -- and load Rcpp so that modules work
    RInside R(argc, argv, true);               
        
    // load the bling module
    // R["bling"] = LOAD_RCPP_MODULE(bling) ;
    
    // call it and display the result
    Rcpp::Rcout << "** rinside_module_sample0 is currently disabled.\n";
    if (FALSE) {
		std::string result = R.parseEval("bling$hello('world')") ;
		std::cout << "bling$hello( 'world') =  '" << result << "'" << std::endl ; 
	}
    exit(0);
}