Rcpp Version 0.9.10
barrier.cpp
Go to the documentation of this file.
00001 // -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 4 -*-
00002 //
00003 // barrier.cpp: Rcpp R/C++ interface class library -- write barrier
00004 //
00005 // Copyright (C) 2010 - 2011 Dirk Eddelbuettel and Romain Francois
00006 //
00007 // This file is part of Rcpp.
00008 //
00009 // Rcpp is free software: you can redistribute it and/or modify it
00010 // under the terms of the GNU General Public License as published by
00011 // the Free Software Foundation, either version 2 of the License, or
00012 // (at your option) any later version.
00013 //
00014 // Rcpp is distributed in the hope that it will be useful, but
00015 // WITHOUT ANY WARRANTY; without even the implied warranty of
00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017 // GNU General Public License for more details.
00018 //
00019 // You should have received a copy of the GNU General Public License
00020 // along with Rcpp.  If not, see <http://www.gnu.org/licenses/>.
00021 
00022 #define USE_RINTERNALS
00023 #include <Rinternals.h>
00024 #include <Rcpp/barrier.h>
00025 
00026 SEXP get_string_elt(SEXP x, int i){
00027     return STRING_ELT(x, i ) ;
00028 }    
00029 const char* char_get_string_elt(SEXP x, int i){
00030     return CHAR(STRING_ELT(x, i )) ;
00031 }    
00032 void set_string_elt(SEXP x, int i, SEXP value){
00033     STRING_ELT(x, i) = value ;
00034 }
00035 void char_set_string_elt(SEXP x, int i, const char* value){
00036     STRING_ELT(x, i) = Rf_mkChar(value) ; 
00037 }
00038 SEXP* get_string_ptr(SEXP x){ return STRING_PTR(x) ; }
00039 
00040 SEXP get_vector_elt(SEXP x, int i){
00041     return VECTOR_ELT(x, i ) ;
00042 }
00043 void set_vector_elt(SEXP x, int i, SEXP value){
00044     SET_VECTOR_ELT(x, i, value ) ;
00045 }
00046 SEXP* get_vector_ptr(SEXP x){ return VECTOR_PTR(x) ; }
00047 
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Defines