//////////////////////////////////
// str namespace for strings

namespace str {

extern single   str_int_to_str(x) = "intostr";
extern single   str_int_to_char(x) = "itoc";
extern single   str_char_to_int(x) = "ctoi";
extern single   str_to_int(x) = "atoi";
extern single   str_to_float(x) = "stod";

extern single   intostr(x);
extern single   itoc(x);
extern single   ctoi(x);
extern single   atoi(x);
extern single   stod(x);

extern single   strlen(x);
extern single   strcat(s1,s2);

extern single   instr(x,y);
extern single   rinstr(x,y);
extern single   instring(x,y);
extern single   rinstring(x,y);

extern multiple strcut(x,y);
extern single   midstr(x,y,z);
extern multiple split(x,y);
extern multiple rsplit(x,y);
extern single   explode(x,y) = "explode_array";
extern single   explode_array(x,y);

extern multiple tokensplit(x,y,z);
extern single   smatch(x,y);

extern single   strcmp(x,y);
extern single   strcmpi(x,y) = "stringcmp";
extern single   stringcmp(x,y);
extern single   strncmp(x,y,z);
extern single   startswith(x,y) = "stringpfx";
extern single   stringpfx(x,y);

extern single   strip(x);
extern single   striplead(x);
extern single   striptail(x);

extern single   subst(x,y,z);
extern single   tolower(x);
extern single   toupper(x);
extern single   pronoun_sub(x,y);

extern single   strencrypt(x,y);
extern single   strdecrypt(x,y);

extern single   array_fmtstrings(x,y);
extern single   fmtstrings(x,y) = "array_fmtstrings";

}

