what is string::npos
npos is a constant static member value with the greatest possible value for an element of type size_t. This value, when used as the value for a len parameter in string's member functions, means until the end of the string. ... As a return value, it is usually used to indicate that no matches were found in the string