| 136 | template<> SEXP wrap_extra_steps<Rcpp::Datetime>(SEXP x); |
| 137 | |
| 138 | inline Datetime operator+(const Datetime &datetime, double offset) { |
| 139 | Datetime newdt(datetime.m_dt); |
| 140 | newdt.m_dt += offset; |
| 141 | double dt = std::floor(newdt.m_dt); |
| 142 | time_t t = static_cast<time_t>(dt); |
| 143 | newdt.m_tm = *gmtime_(&t); |
| 144 | newdt.m_us = static_cast<int>(::Rf_fround( (newdt.m_dt - dt) * 1.0e6, 0.0)); |
| 145 | return newdt; |
| 146 | } |
| 147 | |
| 148 | inline Datetime operator+(const Datetime &datetime, int offset) { |
| 149 | Datetime newdt(datetime.m_dt); |