22 #ifndef Rcpp__vector__proxy_h
23 #define Rcpp__vector__proxy_h
29 typedef ::Rcpp::Vector<RTYPE>
VECTOR ;
30 typedef typename ::Rcpp::traits::storage_type<RTYPE>::type
CTYPE ;
48 set( caster<T,CTYPE>(rhs) ) ;
59 operator SEXP()
const {
71 }
catch(
const index_out_of_bounds& ex ){
83 typedef typename ::Rcpp::Vector<RTYPE>
VECTOR ;
107 return ::Rf_mkString(
get()) ;
113 inline int size(){
return strlen(
get() ) ; }
118 void set(
const std::string& rhs ){
123 }
catch(
const index_out_of_bounds& ex ){
138 RCPP_DEBUG_2(
"generic_name_proxy( VECTOR& = %p, const string& = %s)", v.asSexp(), name_.c_str() );
153 template <
typename T>
161 operator SEXP()
const {
165 template <
typename T>
167 #if RCPP_DEBUG_LEVEL > 0
169 RCPP_DEBUG_1(
"generic_name_proxy::get() = <%p> ", res ) ;
170 return ::Rcpp::as<T>( res ) ;
172 return ::Rcpp::as<T>(
get() ) ;
176 operator bool()
const{
177 return ::Rcpp::as<bool>(
get());
183 void set( SEXP rhs ){
188 }
catch(
const index_out_of_bounds& ex ){
202 typedef typename ::Rcpp::internal::simple_name_proxy<RTYPE>
type ;
205 typedef ::Rcpp::internal::string_name_proxy<STRSXP>
type ;
208 typedef ::Rcpp::internal::generic_name_proxy<VECSXP>
type ;
211 typedef ::Rcpp::internal::generic_name_proxy<EXPRSXP>
type ;
216 typedef typename storage_type<RTYPE>::type&
type ;
219 typedef ::Rcpp::internal::string_proxy<STRSXP>
type ;
222 typedef ::Rcpp::internal::generic_proxy<EXPRSXP>
type ;
225 typedef ::Rcpp::internal::generic_proxy<VECSXP>
type ;
230 typedef const typename storage_type<RTYPE>::type&
type ;
235 typedef typename storage_type<RTYPE>::type*
type ;
239 typedef typename storage_type<RTYPE>::type*
type ;
243 typedef ::Rcpp::internal::Proxy_Iterator< typename r_vector_proxy<RTYPE>::type >
type ;