1 #include <Rcpp.h>
2 using namespace Rcpp;
3 
str_isalpha(std::string str)4 bool str_isalpha(std::string str){
5 
6   unsigned int input_size = str.size();
7 
8   for(unsigned int i = 0; i < input_size; i++){
9     if(!isalpha(str[i])){
10       return false;
11     }
12   }
13   return true;
14 }
15 
16 //[[Rcpp::export]]
pystr_isalpha_(CharacterVector strs)17 LogicalVector pystr_isalpha_(CharacterVector strs){
18 
19   unsigned int input_size = strs.size();
20   LogicalVector output(input_size);
21 
22   for(unsigned int i = 0; i < input_size; i++){
23     if(strs[i] == NA_STRING){
24       output[i] = NA_LOGICAL;
25     } else {
26       output[i] = str_isalpha(Rcpp::as<std::string>(strs[i]));
27     }
28   }
29 
30   return output;
31 }
32