summaryrefslogtreecommitdiff
path: root/noncore/games/sfcave-sdl/stringtokenizer.h
blob: 51daa42f84b1f7e2c8ac6bfaf6c208af6758832a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef __STRINGTOKENIZER_H
#define __STRINGTOKENIZER_H

#include <vector>
using namespace std;

class StringTokenizer : public vector<string>
{
	public:
		StringTokenizer(const string &rStr, const string &rDelimiters = " ,\n")
		{
			string::size_type lastPos(rStr.find_first_not_of(rDelimiters, 0));
			string::size_type pos(rStr.find_first_of(rDelimiters, lastPos));
			while (string::npos != pos || string::npos != lastPos)
			{
				push_back(rStr.substr(lastPos, pos - lastPos));
				lastPos = rStr.find_first_not_of(rDelimiters, pos);
				pos = rStr.find_first_of(rDelimiters, lastPos);
			}
		}
};

#endif