21#ifndef Rcpp__vector__proxy_h
22#define Rcpp__vector__proxy_h
27 template <
int RTYPE,
template <
class>
class StoragePolicy>
30 typedef ::Rcpp::Vector<RTYPE, StoragePolicy>
VECTOR ;
31 typedef typename ::Rcpp::traits::storage_type<RTYPE>::type
CTYPE ;
50 set( caster<T,CTYPE>(rhs) ) ;
61 operator SEXP()
const {
62 return ::Rcpp::wrap(
get()) ;
73 }
catch(
const index_out_of_bounds& ex ){
82 template <
int RTYPE,
template <
class>
class StoragePolicy>
85 typedef typename ::Rcpp::Vector<RTYPE, StoragePolicy>
VECTOR ;
104 operator char* ()
const {
108 operator SEXP()
const {
109 return ::Rf_mkString(
get()) ;
115 inline R_xlen_t
size(){
return strlen(
get() ) ; }
120 void set(
const std::string& rhs ){
125 }
catch(
const index_out_of_bounds& ex ){
135 template <
int RTYPE,
template <
class>
class StoragePolicy>
138 typedef ::Rcpp::Vector<RTYPE, StoragePolicy>
VECTOR ;
154 template <
typename T>
162 operator SEXP()
const {
166 template <
typename T>
168 #if RCPP_DEBUG_LEVEL > 0
170 RCPP_DEBUG_1(
"generic_name_proxy::get() = <%p> ", res ) ;
171 return ::Rcpp::as<T>( res ) ;
173 return ::Rcpp::as<T>(
get() ) ;
185 }
catch(
const index_out_of_bounds& ex ){
197 template <
int RTYPE,
template <
class>
class StoragePolicy>
199 typedef typename ::Rcpp::internal::simple_name_proxy<RTYPE, StoragePolicy>
type ;
201 template<
template <
class>
class StoragePolicy>
203 typedef ::Rcpp::internal::string_name_proxy<STRSXP, StoragePolicy>
type ;
205 template<
template <
class>
class StoragePolicy>
207 typedef ::Rcpp::internal::generic_name_proxy<VECSXP, StoragePolicy>
type ;
209 template<
template <
class>
class StoragePolicy>
211 typedef ::Rcpp::internal::generic_name_proxy<EXPRSXP, StoragePolicy>
type ;
214 template <
int RTYPE,
template <
class>
class StoragePolicy>
218 template<
template <
class>
class StoragePolicy>
220 typedef ::Rcpp::internal::string_proxy<STRSXP, StoragePolicy>
type ;
222 template<
template <
class>
class StoragePolicy>
224 typedef ::Rcpp::internal::generic_proxy<EXPRSXP, StoragePolicy>
type ;
226 template<
template <
class>
class StoragePolicy>
228 typedef ::Rcpp::internal::generic_proxy<VECSXP, StoragePolicy>
type ;
231 template <
int RTYPE,
template <
class>
class StoragePolicy>
235 template<
template <
class>
class StoragePolicy>
237 typedef ::Rcpp::internal::const_string_proxy<STRSXP, StoragePolicy>
type ;
239 template<
template <
class>
class StoragePolicy>
241 typedef ::Rcpp::internal::const_generic_proxy<VECSXP, StoragePolicy>
type ;
243 template<
template <
class>
class StoragePolicy>
245 typedef ::Rcpp::internal::const_generic_proxy<EXPRSXP, StoragePolicy>
type ;
248 template <
int RTYPE,
template <
class>
class StoragePolicy>
252 template <
int RTYPE,
template <
class>
class StoragePolicy>
257 template <
int RTYPE,
template <
class>
class StoragePolicy>
259 typedef ::Rcpp::internal::Proxy_Iterator< typename r_vector_proxy<RTYPE, StoragePolicy>::type >
type ;
265 template <
int RTYPE,
template <
class>
class StoragePolicy>
267 typedef ::Rcpp::internal::Proxy_Iterator< typename r_vector_const_proxy<RTYPE, StoragePolicy>::type >
type ;
generic_name_proxy(const generic_name_proxy &other)
generic_name_proxy & operator=(const generic_name_proxy &other)
generic_name_proxy(VECTOR &v, const std::string &name_)
generic_name_proxy & operator=(SEXP rhs)
generic_name_proxy & operator=(const T &rhs)
::Rcpp::Vector< RTYPE, StoragePolicy > VECTOR
simple_name_proxy & operator=(const T &rhs)
::Rcpp::traits::storage_type< RTYPE >::type CTYPE
simple_name_proxy(const simple_name_proxy &other)
simple_name_proxy(VECTOR &v, const std::string &name_)
::Rcpp::Vector< RTYPE, StoragePolicy > VECTOR
simple_name_proxy & operator=(const simple_name_proxy &other)
simple_name_proxy & operator=(CTYPE rhs)
string_name_proxy(VECTOR &v, const std::string &name_)
string_name_proxy(const string_name_proxy &other)
string_name_proxy & operator=(const std::string &rhs)
void set(const std::string &rhs)
reference operator[](R_xlen_t i)
::Rcpp::Vector< RTYPE, StoragePolicy > VECTOR
string_name_proxy & operator=(const string_name_proxy &other)
#define RCPP_DEBUG_1(fmt, MSG)
internal implementation details
SEXP wrap(const Date &date)
::Rcpp::internal::Proxy_Iterator< typename r_vector_const_proxy< RTYPE, StoragePolicy >::type > type
::Rcpp::internal::Proxy_Iterator< typename r_vector_proxy< RTYPE, StoragePolicy >::type > type
const storage_type< RTYPE >::type * type
::Rcpp::internal::const_generic_proxy< EXPRSXP, StoragePolicy > type
::Rcpp::internal::const_string_proxy< STRSXP, StoragePolicy > type
::Rcpp::internal::const_generic_proxy< VECSXP, StoragePolicy > type
const storage_type< RTYPE >::type & type
storage_type< RTYPE >::type * type
::Rcpp::internal::generic_name_proxy< EXPRSXP, StoragePolicy > type
::Rcpp::internal::string_name_proxy< STRSXP, StoragePolicy > type
::Rcpp::internal::generic_name_proxy< VECSXP, StoragePolicy > type
::Rcpp::internal::simple_name_proxy< RTYPE, StoragePolicy > type
::Rcpp::internal::generic_proxy< EXPRSXP, StoragePolicy > type
::Rcpp::internal::string_proxy< STRSXP, StoragePolicy > type
::Rcpp::internal::generic_proxy< VECSXP, StoragePolicy > type
storage_type< RTYPE >::type & type