21#ifndef Rcpp__sugar__sapply_h
22#define Rcpp__sugar__sapply_h
24#if defined(RCPP_USING_CXX0X_OR_LATER)
25 #include <type_traits>
31template <
typename Function,
typename SugarExpression>
34#if defined(RCPP_USING_CXX0X_OR_LATER)
35 #if __cplusplus < 201703L
37 typedef typename ::std::result_of<
Function(
typename SugarExpression::stored_type)>
::type type;
40 typedef typename ::std::invoke_result<Function, typename SugarExpression::stored_type>::type
type;
43 typedef typename ::Rcpp::traits::result_of<Function>::type
type;
50template <
int RTYPE,
bool NA,
typename T,
typename Function,
bool NO_CONVERSION>
52 Rcpp::traits::r_sexptype_traits<
53 typename ::Rcpp::sugar::sapply_application_result_of<Function, T>::type
56 Sapply<RTYPE,NA,T,Function,NO_CONVERSION>
59 typedef typename ::Rcpp::sugar::sapply_application_result_of<Function, T>::type
result_type ;
87template <
int RTYPE,
bool NA,
typename T,
typename Function>
89 Rcpp::traits::r_sexptype_traits<
90 typename ::Rcpp::sugar::sapply_application_result_of<Function, T>::type
93 Sapply<RTYPE,NA,T,Function,true>
96 typedef typename ::Rcpp::sugar::sapply_application_result_of<Function, T>::type
result_type ;
123template <
int RTYPE,
bool NA,
typename T,
typename Function >
127 typename ::Rcpp::sugar::sapply_application_result_of<Function, T>::type ,
134 typename ::Rcpp::sugar::sapply_application_result_of<Function, T>::type ,
136 >::value >( t, fun ) ;
Sapply< RTYPE, NA, T, Function, NO_CONVERSION > & get_ref()
static target get(const T &input)
::Rcpp::sugar::sapply_application_result_of< Function, T >::type result_type
Rcpp::traits::Extractor< RTYPE, NA, T >::type EXT
Rcpp::traits::storage_type< RESULT_R_TYPE >::type STORAGE
Rcpp::VectorBase< RTYPE, NA, T > VEC
STORAGE operator[](R_xlen_t i) const
Sapply(const VEC &vec_, Function fun_)
Rcpp::VectorBase< RTYPE, NA, T > VEC
static const int RESULT_R_TYPE
Rcpp::traits::Extractor< RTYPE, NA, T >::type EXT
Rcpp::traits::storage_type< RESULT_R_TYPE >::type STORAGE
::Rcpp::sugar::sapply_application_result_of< Function, T >::type result_type
Rcpp::traits::r_vector_element_converter< RESULT_R_TYPE >::type converter_type
STORAGE operator[](R_xlen_t i) const
Sapply(const VEC &vec_, Function fun_)
#define RCPP_DEBUG_1(fmt, MSG)
#define DEMANGLE(__TYPE__)
Function_Impl< PreserveStorage > Function
sugar::Sapply< RTYPE, NA, T, Function, traits::same_type< typename ::Rcpp::sugar::sapply_application_result_of< Function, T >::type, typename Rcpp::traits::storage_type< traits::r_sexptype_traits< typename ::Rcpp::sugar::sapply_application_result_of< Function, T >::type >::rtype >::type >::value > sapply(const Rcpp::VectorBase< RTYPE, NA, T > &t, Function fun)
::Rcpp::traits::result_of< Function >::type type