22 #ifndef Rcpp__vector__VectorBase_h
23 #define Rcpp__vector__VectorBase_h
28 template <
int RTYPE,
bool na,
typename VECTOR>
38 return static_cast<VECTOR&
>(*this) ;
42 return static_cast<const VECTOR&
>(*this) ;
46 return static_cast<const VECTOR*
>(
this)->
operator[](i) ;
49 inline R_xlen_t
size()
const {
return static_cast<const VECTOR*
>(
this)->
size() ; }
74 template<
typename TRAITS >
122 return object[
index+i] ;
126 return object[
index] ;
129 return &
object[
index] ;
bool operator<=(const iter_base &other) const
bool operator>=(const iter_base &other) const
iter_base & operator-=(difference_type n)
difference_type operator-(const iter_base &other) const
TRAITS::reference reference
TRAITS::iterator_category iterator_category
bool operator<(const iter_base &other) const
iter_base operator++(int)
iter_base(const VectorBase &object_, R_xlen_t index_)
TRAITS::difference_type difference_type
TRAITS::value_type value_type
iter_base & operator+=(difference_type n)
iter_base operator--(int)
bool operator==(const iter_base &y) const
bool operator>(const iter_base &other) const
iter_base operator+(difference_type n) const
iter_base operator-(difference_type n) const
reference operator[](R_xlen_t i)
bool operator!=(const iter_base &y) const
traits::storage_type< RTYPE >::type elem_type
const_iterator cbegin() const
iter_base< iter_traits > iterator
stored_type operator[](R_xlen_t i) const
const_iterator begin() const
iter_base< const_iter_traits > const_iterator
const_iterator cend() const
const VECTOR & get_ref() const
traits::storage_type< RTYPE >::type stored_type
const_iterator end() const
std::random_access_iterator_tag iterator_category
stored_type const * pointer
const stored_type value_type
std::random_access_iterator_tag iterator_category