void checkIsNullTerminated (const char (&str)[N], const char *what)
{
	for (size_t i = 0; i < N; ++i) {
		if (str[i] == '\0')
			return;
	}
	std::stringstream s;
	s << "Invalid " << what << ": it is more than " << (N - 1) 
		<< " characters long.";
	throw IEX_NAMESPACE::InputExc(s);
}
void checkIsNullTerminated (const char (&str)[N], const char *what)
{
	for (size_t i = 0; i < N; ++i) {
		if (str[i] == '\0')
			return;
	}
	std::stringstream s;
	s << "Invalid " << what << ": it is more than " << (N - 1) 
		<< " characters long.";
	throw IEX_NAMESPACE::InputExc(s);
}