summaryrefslogtreecommitdiff
path: root/src/pcheck.h
blob: 6808bce41d010937346b8f06bd64139a9b928c25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
 *  Copyright 2001, 2002 Adrian Thurston <thurston@complang.org>
 */

#ifndef _PCHECK_H
#define _PCHECK_H

class ParamCheck
{
public:
	ParamCheck( const char *paramSpec, int argc, const char **argv );

	bool check();

	const char *parameterArg; /* The argument to the parameter. */
	char parameter;     /* The parameter matched. */
	enum { match, invalid, noparam } state;

	const char *argOffset;    /* If we are reading params inside an
	                     * arg this points to the offset. */

	const char *curArg;       /* Pointer to the current arg. */
	int iCurArg;        /* Index to the current arg. */

private:
	const char *paramSpec;    /* Parameter spec supplied by the coder. */
	int argc;           /* Arguement data from the command line. */
	const char **argv;
};

#endif /* _PCHECK_H */