std::string::size_typewordStartIndex{englishWord.find_first_of(Characters::Letters::ALL)};//after any beginning punctuation
std::string::size_typewordEndIndex{englishWord.find_last_of(Characters::APOSTROPHE)};//try to find an ending apostrophe for possesion or a constraction
std::string::size_typewordEndIndex{englishWord.find_last_of(Characters::APOSTROPHE)};//try to find an ending apostrophe for possesion or a contraction
if(wordEndIndex==std::string::npos)
wordEndIndex={englishWord.find_last_of(Characters::Letters::ALL)+1};//otherwise find the last letter
std::stringpig{wordToPig(englishWord.substr(wordStartIndex,wordEndIndex-wordStartIndex))};//2nd param is count between start and end
std::stringpig{wordToPig(englishWord.substr(wordStartIndex,wordEndIndex-wordStartIndex))};//2nd param is count between start and end of actual word
std::transform(std::begin(pig),std::end(pig),std::begin(pig),tolower);//make all letters in new word lower for now//fixme why no std::tolower
if(std::isupper(englishWord.substr(wordStartIndex,wordEndIndex-wordStartIndex)[0]))//if original word had capital
pig[0]={static_cast<char>(std::toupper(pig[0]))};//new word should have capital
pig[0]={static_cast<char>(std::toupper(pig[0]))};//new word should have capital; have to cast int to char
//prefix punctuation + pigified word + suffix punctuation