Initial commit from cwc-1.0.1
[cwc.git] / src / main.hh
blobb809538453f0d9d4f53bec55cac816a12b0d8706
1 /**
2 * cwc - a crossword compiler. Copyright 1999 Lars Christensen
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2 of the
7 * License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17 * 02111-1307, USA.
18 **/
20 #ifndef MAIN_HH
21 #define MAIN_HH
23 #define MAXWORDLEN 32
25 #include <string>
27 class error {
28 string errmsg;
29 public:
30 error(const string &msg) : errmsg(msg) {}
31 const string &what() { return errmsg; }
34 struct setup_s {
35 typedef enum { simple_format, ascii_format } output_format_t;
36 typedef enum { prefixwalker, floodwalker } walker_t;
37 typedef enum { btreedict, letterdict } dict_t;
38 typedef enum { noformat, generalgrid, squaregrid } gridformat_t;
39 output_format_t output_format;
40 walker_t walkertype;
41 dict_t dictstyle;
42 bool verbose, showsteps, showallsteps;
43 string dictfile, gridfile;
44 gridformat_t gridformat;
45 bool benchdict;
46 bool setseed;
47 int seed;
48 bool debuginfo;
51 extern setup_s setup;
53 #endif