18 #ifndef Rcpp_DottedPairProxy_h
19 #define Rcpp_DottedPairProxy_h
23 template <
typename CLASS>
30 if( index_ >= v.length() ) {
31 const char* fmt =
"Dotted Pair index is out of bounds: "
32 "[index=%i; extent=%i].";
33 throw index_out_of_bounds(fmt, index_, v.length());
37 for(
int i = 0; i<index_; i++, x = CDR(x) ) ;
54 template <
typename T>
operator T()
const;
56 inline SEXP
get()
const {
59 inline operator SEXP()
const {
68 SEXP rhsNameSym = ::Rf_install( name );
69 SET_TAG(
node, rhsNameSym ) ;
80 if( index_ >= v.length() ) {
81 const char* fmt =
"Dotted Pair index is out of bounds: "
82 "[index=%i; extent=%i].";
83 throw index_out_of_bounds(fmt, index_, v.length());
87 for(
int i = 0; i<index_; i++, x = CDR(x) ) ;
91 template <
typename T>
operator T()
const;
93 inline SEXP
get()
const {
96 inline operator SEXP()
const {
DottedPairProxy & operator=(SEXP rhs)
DottedPairProxy & set(SEXP x, const char *name)
DottedPairProxy & operator=(const traits::named_object< T > &rhs)
DottedPairProxy & set(SEXP x)
DottedPairProxy(CLASS &v, int index_)
DottedPairProxy & operator=(const DottedPairProxy &rhs)
DottedPairProxy & operator=(const T &rhs)
const_DottedPairProxy(const CLASS &v, int index_)
DottedPairProxy operator[](int i)
const_DottedPairProxy operator[](int i) const