74 register string::size_type top = this->find(
'/');
77 if (top == string::npos)
83 register char prev =
'/';
84 register string::size_type nChar = top+1;
85 register string::size_type maxLen = this->size();
89 register string::size_type src = nChar;
94 register char c = operator[](src++);
115 register char c1 = operator[](src);
125 if (c1 ==
'.' && (src+1 >= maxLen ||
operator[](src+1) ==
'/'))
127 string::size_type parent;
135 && (parent = this->rfind(
'/', nChar-2)) != string::npos
151 operator[](nChar++) = prev = c;
155 if (nChar > 1 &&
operator[](nChar-1) ==
'/')
162 return (nChar != maxLen);
188 size_type i = rfind(
'/');
196 return substr(i+1, npos);
214 size_type i = rfind(
'/');
234 size_type i = find_last_of(
"./");
236 if (i == npos || i == 0 ||
operator[](i) ==
'/')
250 size_type i = find_last_of(
"./");
252 if (i == npos || i == 0 ||
operator[](i) ==
'/')
258 return substr(i+1, npos);
280 size_type start=0, end=0;
282 while ((end = find(delimiter, start)) != npos)
287 wrdList.
append(substr(start, end-start));
295 wrdList.
append(substr(start, npos));
306 const size_type cmpt,
310 return components(delimiter)[cmpt];
318 string::operator=(str);
325 string::operator=(str);
332 string::operator=(str);
340 string::operator=(str);
348 string::operator=(str);