23#ifndef Rcpp__sugar__minus_h
24#define Rcpp__sugar__minus_h
29 template <
int RTYPE,
bool LHS_NA,
typename LHS_T,
bool RHS_NA,
typename RHS_T >
31 public Rcpp::VectorBase<RTYPE,true, Minus_Vector_Vector<RTYPE,LHS_NA,LHS_T,RHS_NA,RHS_T> > {
49 inline R_xlen_t
size()
const {
return lhs.size() ; }
56 template <
bool LHS_NA,
typename LHS_T,
bool RHS_NA,
typename RHS_T >
58 public Rcpp::VectorBase<REALSXP,true, Minus_Vector_Vector<REALSXP,LHS_NA,LHS_T,RHS_NA,RHS_T> > {
72 inline R_xlen_t
size()
const {
return lhs.size() ; }
80 template <
int RTYPE,
typename LHS_T,
bool RHS_NA,
typename RHS_T >
81 class Minus_Vector_Vector<RTYPE,false,LHS_T,RHS_NA,RHS_T> :
public Rcpp::VectorBase<RTYPE,true, Minus_Vector_Vector<RTYPE,false,LHS_T,RHS_NA,RHS_T> > {
98 inline R_xlen_t
size()
const {
return lhs.size() ; }
105 template <
typename LHS_T,
bool RHS_NA,
typename RHS_T >
107 public Rcpp::VectorBase<REALSXP,true, Minus_Vector_Vector<REALSXP,false,LHS_T,RHS_NA,RHS_T> > {
121 inline R_xlen_t
size()
const {
return lhs.size() ; }
129 template <
int RTYPE,
bool LHS_NA,
typename LHS_T,
typename RHS_T >
130 class Minus_Vector_Vector<RTYPE,LHS_NA,LHS_T,false,RHS_T> :
public Rcpp::VectorBase<RTYPE,true, Minus_Vector_Vector<RTYPE,LHS_NA,LHS_T,false,RHS_T> > {
147 inline R_xlen_t
size()
const {
return lhs.size() ; }
154 template <
bool LHS_NA,
typename LHS_T,
typename RHS_T >
156 public Rcpp::VectorBase<REALSXP,true, Minus_Vector_Vector<REALSXP,LHS_NA,LHS_T,false,RHS_T> > {
170 inline R_xlen_t
size()
const {
return lhs.size() ; }
178 template <
int RTYPE,
typename LHS_T,
typename RHS_T >
180 public Rcpp::VectorBase<RTYPE,false, Minus_Vector_Vector<RTYPE,false,LHS_T,false,RHS_T> > {
195 inline R_xlen_t
size()
const {
return lhs.size() ; }
201 template <
typename LHS_T,
typename RHS_T >
203 public Rcpp::VectorBase<REALSXP,false, Minus_Vector_Vector<REALSXP,false,LHS_T,false,RHS_T> > {
217 inline R_xlen_t
size()
const {
return lhs.size() ; }
228 template <
int RTYPE,
bool NA,
typename T>
245 inline R_xlen_t
size()
const {
return lhs.size() ; }
252 template <
bool NA,
typename T>
254 public Rcpp::VectorBase<REALSXP,true, Minus_Vector_Primitive<REALSXP,NA,T> > {
266 inline R_xlen_t
size()
const {
return lhs.size() ; }
274 template <
int RTYPE,
typename T>
276 public Rcpp::VectorBase<RTYPE,true, Minus_Vector_Primitive<RTYPE,false,T> > {
291 inline R_xlen_t
size()
const {
return lhs.size() ; }
298 template <
typename T>
300 public Rcpp::VectorBase<REALSXP,true, Minus_Vector_Primitive<REALSXP,false,T> > {
312 inline R_xlen_t
size()
const {
return lhs.size() ; }
324 template <
int RTYPE,
bool NA,
typename T>
339 inline R_xlen_t
size()
const {
return rhs.size() ; }
346 template <
bool NA,
typename T>
348 public Rcpp::VectorBase<REALSXP,true, Minus_Primitive_Vector<REALSXP,NA,T> > {
359 inline R_xlen_t
size()
const {
return rhs.size() ; }
368 template <
int RTYPE,
typename T>
370 public Rcpp::VectorBase<RTYPE,true, Minus_Primitive_Vector<RTYPE,false,T> > {
384 inline R_xlen_t
size()
const {
return rhs.size() ; }
392 template <
typename T>
394 public Rcpp::VectorBase<REALSXP,true, Minus_Primitive_Vector<REALSXP,false,T> > {
406 inline R_xlen_t
size()
const {
return rhs.size() ; }
416template <
int RTYPE,
bool NA,
typename T,
typename U>
426template <
int RTYPE,
bool NA,
typename T,
typename U>
427inline typename traits::enable_if<traits::is_convertible<typename traits::remove_const_and_reference<U>::type,
typename traits::storage_type<RTYPE>::type>::value, sugar::Minus_Primitive_Vector< RTYPE , NA,T> >::type
435template <
int RTYPE,
bool LHS_NA,
typename LHS_T,
bool RHS_NA,
typename RHS_T>
436inline sugar::Minus_Vector_Vector<
Minus_Vector_Vector< RTYPE, LHS_NA, LHS_T, RHS_NA, RHS_T > & get_ref()
Minus_Primitive_Vector(double lhs_, const VEC_TYPE &rhs_)
Rcpp::traits::Extractor< REALSXP, NA, T >::type VEC_EXT
Rcpp::VectorBase< REALSXP, NA, T > VEC_TYPE
double operator[](R_xlen_t i) const
double operator[](R_xlen_t i) const
Minus_Primitive_Vector(double lhs_, const VEC_TYPE &rhs_)
Rcpp::VectorBase< REALSXP, false, T > VEC_TYPE
Rcpp::traits::Extractor< REALSXP, false, T >::type VEC_EXT
STORAGE operator[](R_xlen_t i) const
Minus_Primitive_Vector(STORAGE lhs_, const VEC_TYPE &rhs_)
Rcpp::traits::Extractor< RTYPE, false, T >::type VEC_EXT
traits::storage_type< RTYPE >::type STORAGE
Rcpp::VectorBase< RTYPE, false, T > VEC_TYPE
traits::storage_type< RTYPE >::type STORAGE
STORAGE operator[](R_xlen_t i) const
Minus_Primitive_Vector(STORAGE lhs_, const VEC_TYPE &rhs_)
Rcpp::traits::Extractor< RTYPE, NA, T >::type VEC_EXT
Rcpp::VectorBase< RTYPE, NA, T > VEC_TYPE
Rcpp::traits::Extractor< REALSXP, NA, T >::type VEC_EXT
Rcpp::VectorBase< REALSXP, NA, T > VEC_TYPE
Minus_Vector_Primitive(const VEC_TYPE &lhs_, double rhs_)
double operator[](R_xlen_t i) const
Rcpp::traits::Extractor< REALSXP, false, T >::type VEC_EXT
double operator[](R_xlen_t i) const
Minus_Vector_Primitive(const VEC_TYPE &lhs_, double rhs_)
Rcpp::VectorBase< REALSXP, false, T > VEC_TYPE
Minus_Vector_Primitive(const VEC_TYPE &lhs_, STORAGE rhs_)
Rcpp::VectorBase< RTYPE, false, T > VEC_TYPE
Rcpp::traits::Extractor< RTYPE, false, T >::type VEC_EXT
traits::storage_type< RTYPE >::type STORAGE
STORAGE operator[](R_xlen_t i) const
Rcpp::VectorBase< RTYPE, NA, T > VEC_TYPE
Minus_Vector_Primitive(const VEC_TYPE &lhs_, STORAGE rhs_)
STORAGE operator[](R_xlen_t i) const
Rcpp::traits::Extractor< RTYPE, NA, T >::type VEC_EXT
traits::storage_type< RTYPE >::type STORAGE
double operator[](R_xlen_t i) const
Minus_Vector_Vector(const LHS_TYPE &lhs_, const RHS_TYPE &rhs_)
Rcpp::VectorBase< REALSXP, RHS_NA, RHS_T > RHS_TYPE
Rcpp::traits::Extractor< REALSXP, RHS_NA, RHS_T >::type RHS_EXT
Rcpp::traits::Extractor< REALSXP, LHS_NA, LHS_T >::type LHS_EXT
Rcpp::VectorBase< REALSXP, LHS_NA, LHS_T > LHS_TYPE
Rcpp::traits::Extractor< REALSXP, false, RHS_T >::type RHS_EXT
double operator[](R_xlen_t i) const
Rcpp::VectorBase< REALSXP, false, RHS_T > RHS_TYPE
Rcpp::traits::Extractor< REALSXP, LHS_NA, LHS_T >::type LHS_EXT
Minus_Vector_Vector(const LHS_TYPE &lhs_, const RHS_TYPE &rhs_)
Rcpp::VectorBase< REALSXP, LHS_NA, LHS_T > LHS_TYPE
Rcpp::VectorBase< REALSXP, RHS_NA, RHS_T > RHS_TYPE
Minus_Vector_Vector(const LHS_TYPE &lhs_, const RHS_TYPE &rhs_)
double operator[](R_xlen_t i) const
Rcpp::traits::Extractor< REALSXP, false, LHS_T >::type LHS_EXT
Rcpp::traits::Extractor< REALSXP, RHS_NA, RHS_T >::type RHS_EXT
Rcpp::VectorBase< REALSXP, false, LHS_T > LHS_TYPE
Rcpp::traits::Extractor< REALSXP, false, RHS_T >::type RHS_EXT
Minus_Vector_Vector(const LHS_TYPE &lhs_, const RHS_TYPE &rhs_)
double operator[](R_xlen_t i) const
Rcpp::VectorBase< REALSXP, false, RHS_T > RHS_TYPE
Rcpp::VectorBase< REALSXP, false, LHS_T > LHS_TYPE
Rcpp::traits::Extractor< REALSXP, false, LHS_T >::type LHS_EXT
Rcpp::traits::Extractor< RTYPE, LHS_NA, LHS_T >::type LHS_EXT
Rcpp::VectorBase< RTYPE, LHS_NA, LHS_T > LHS_TYPE
STORAGE operator[](R_xlen_t i) const
Rcpp::traits::Extractor< RTYPE, false, RHS_T >::type RHS_EXT
traits::storage_type< RTYPE >::type STORAGE
Rcpp::VectorBase< RTYPE, false, RHS_T > RHS_TYPE
Minus_Vector_Vector(const LHS_TYPE &lhs_, const RHS_TYPE &rhs_)
Rcpp::VectorBase< RTYPE, RHS_NA, RHS_T > RHS_TYPE
STORAGE operator[](R_xlen_t i) const
Minus_Vector_Vector(const LHS_TYPE &lhs_, const RHS_TYPE &rhs_)
Rcpp::traits::Extractor< RTYPE, false, LHS_T >::type LHS_EXT
Rcpp::VectorBase< RTYPE, false, LHS_T > LHS_TYPE
traits::storage_type< RTYPE >::type STORAGE
Rcpp::traits::Extractor< RTYPE, RHS_NA, RHS_T >::type RHS_EXT
Rcpp::VectorBase< RTYPE, false, RHS_T > RHS_TYPE
Minus_Vector_Vector(const LHS_TYPE &lhs_, const RHS_TYPE &rhs_)
Rcpp::traits::Extractor< RTYPE, false, RHS_T >::type RHS_EXT
STORAGE operator[](R_xlen_t i) const
Rcpp::traits::Extractor< RTYPE, false, LHS_T >::type LHS_EXT
Rcpp::VectorBase< RTYPE, false, LHS_T > LHS_TYPE
traits::storage_type< RTYPE >::type STORAGE
Minus_Vector_Vector(const LHS_TYPE &lhs_, const RHS_TYPE &rhs_)
traits::storage_type< RTYPE >::type STORAGE
Rcpp::VectorBase< RTYPE, LHS_NA, LHS_T > LHS_TYPE
Rcpp::traits::Extractor< RTYPE, RHS_NA, RHS_T >::type RHS_EXT
Rcpp::traits::Extractor< RTYPE, LHS_NA, LHS_T >::type LHS_EXT
Rcpp::VectorBase< RTYPE, RHS_NA, RHS_T > RHS_TYPE
STORAGE operator[](R_xlen_t i) const
traits used to dispatch wrap
bool is_na(typename storage_type< RTYPE >::type)
sugar::IsNa< RTYPE, NA, T > is_na(const Rcpp::VectorBase< RTYPE, NA, T > &t)
double operator-(const Date &d1, const Date &d2)
#define RCPP_SAFE_SUB(a, b)