63 template<
class String>
66 for (const_iterator iter = str.begin(); iter != str.end(); iter++)
68 if (!String::valid(*iter))
77 template<
class String>
80 if (!valid<String>(str))
82 register size_type nValid = 0;
83 iterator iter2 = str.begin();
87 const_iterator iter1 = iter2;
88 iter1 !=
const_cast<const string&
>(str).end();
92 register char c = *iter1;
111 template<
class String>
115 for (const_iterator iter = str.begin(); iter != str.end(); iter++)
117 if (quote && *iter == quote)
125 else if (String::meta(*iter))
134 template<
class String>
144 sQuoted.reserve(2*str.length());
147 for (const_iterator iter = str.begin(); iter != str.end(); iter++)
157 else if (String::meta(*iter))
165 sQuoted.resize(sQuoted.length());
171 template<
class String>
175 stripInvalid<String>(ss);
198 inline unsigned Foam::string::hash::operator()
204 return Hasher(key.data(), key.size(), seed);