@@ -72,7 +72,11 @@ class IsNa_Vector_is_na : public Rcpp::VectorBase<LGLSXP, false, IsNa_Vector_is_
7272 IsNa_Vector_is_na ( const T& x) : ref(x){}
7373
7474 inline int operator []( R_xlen_t i) const {
75+ #if defined(RCPP_NEW_DATE_DATETIME_VECTORS)
76+ return ::Rcpp::traits::is_na<T>(ref[i]);
77+ #else
7578 return ref[i].is_na () ;
79+ #endif
7680 }
7781
7882 inline R_xlen_t size () const { return ref.size () ; }
@@ -84,16 +88,25 @@ class IsNa_Vector_is_na : public Rcpp::VectorBase<LGLSXP, false, IsNa_Vector_is_
8488} // sugar
8589
8690template <int RTYPE, bool NA, typename T>
87- inline sugar::IsNa<RTYPE,NA,T> is_na ( const Rcpp::VectorBase<RTYPE,NA,T>& t){
88- return sugar::IsNa<RTYPE,NA,T>( t ) ;
91+ inline sugar::IsNa<RTYPE,NA,T> is_na ( const Rcpp::VectorBase<RTYPE,NA,T>& t) {
92+ return sugar::IsNa<RTYPE,NA,T>(t) ;
8993}
9094
91- inline sugar::IsNa_Vector_is_na<DatetimeVector> is_na ( const DatetimeVector & x){
95+ inline sugar::IsNa_Vector_is_na<DatetimeVector> is_na (const oldDatetimeVector & x) {
9296 return sugar::IsNa_Vector_is_na<DatetimeVector>( x ) ;
9397}
94- inline sugar::IsNa_Vector_is_na<DateVector> is_na ( const DateVector& x){
95- return sugar::IsNa_Vector_is_na<DateVector>( x ) ;
98+
99+ inline sugar::IsNa_Vector_is_na<oldDateVector> is_na (const oldDateVector& x) {
100+ return sugar::IsNa_Vector_is_na<oldDateVector>(x);
101+ }
102+
103+ inline sugar::IsNa_Vector_is_na<NumericVector> is_na (newDatetimeVector& x) {
104+ return sugar::IsNa_Vector_is_na<NumericVector>(x);
96105}
106+ inline sugar::IsNa_Vector_is_na<NumericVector> is_na (newDateVector& x) {
107+ return sugar::IsNa_Vector_is_na<NumericVector>(x);
108+ }
109+
97110
98111} // Rcpp
99112#endif
0 commit comments