22#ifndef Rcpp__sugar__Comparator_h
23#define Rcpp__sugar__Comparator_h
28template <
int RTYPE,
typename Operator,
bool LHS_NA,
typename LHS_T,
bool RHS_NA,
typename RHS_T>
30 public ::Rcpp::VectorBase< LGLSXP, true, Comparator<RTYPE,Operator,LHS_NA,LHS_T,RHS_NA,RHS_T> > {
48 inline R_xlen_t
size()
const {
return lhs.size() ; }
59template <
int RTYPE,
typename Operator,
typename LHS_T,
bool RHS_NA,
typename RHS_T>
60class Comparator<RTYPE,Operator,false,LHS_T,RHS_NA,RHS_T> :
61 public ::Rcpp::VectorBase< LGLSXP, true, Comparator<RTYPE,Operator,false,LHS_T,RHS_NA,RHS_T> > {
74 return op(
lhs[i], y ) ;
77 inline R_xlen_t
size()
const {
return lhs.size() ; }
87template <
int RTYPE,
typename Operator,
typename LHS_T,
typename RHS_T>
88class Comparator<RTYPE,Operator,false,LHS_T,false,RHS_T> :
89 public ::Rcpp::VectorBase< LGLSXP, true, Comparator<RTYPE,Operator,false,LHS_T,false,RHS_T> > {
103 inline R_xlen_t
size()
const {
return lhs.size() ; }
Rcpp::VectorBase< RTYPE, RHS_NA, RHS_T > RHS_TYPE
traits::storage_type< RTYPE >::type STORAGE
Rcpp::VectorBase< RTYPE, false, LHS_T > LHS_TYPE
int operator[](R_xlen_t i) const
Comparator(const LHS_TYPE &lhs_, const RHS_TYPE &rhs_)
Rcpp::VectorBase< RTYPE, false, RHS_T > RHS_TYPE
int operator[](R_xlen_t i) const
traits::storage_type< RTYPE >::type STORAGE
Rcpp::VectorBase< RTYPE, false, LHS_T > LHS_TYPE
Comparator(const LHS_TYPE &lhs_, const RHS_TYPE &rhs_)
traits::storage_type< RTYPE >::type STORAGE
Rcpp::VectorBase< RTYPE, LHS_NA, LHS_T > LHS_TYPE
Comparator(const LHS_TYPE &lhs_, const RHS_TYPE &rhs_)
int operator[](R_xlen_t i) const
Rcpp::VectorBase< RTYPE, RHS_NA, RHS_T > RHS_TYPE
bool is_na(typename storage_type< RTYPE >::type)