]> Creatis software - clitk.git/blob - utilities/gengetopt/groups.h
Rolled back to middle slice on first load
[clitk.git] / utilities / gengetopt / groups.h
1 /**
2  * Copyright (C) 1999, 2000, 2001, 2002, 2003  Free Software Foundation, Inc.
3  *
4  * This file is part of GNU gengetopt 
5  *
6  * GNU gengetopt is free software; you can redistribute it and/or modify 
7  * it under the terms of the GNU General Public License as published by 
8  * the Free Software Foundation; either version 3, or (at your option) 
9  * any later version. 
10  *
11  * GNU gengetopt is distributed in the hope that it will be useful, but 
12  * WITHOUT ANY WARRANTY; without even the implied warranty of 
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
14  * Public License for more details. 
15  *
16  * You should have received a copy of the GNU General Public License along 
17  * with gengetopt; see the file COPYING. If not, write to the Free Software 
18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
19  */
20
21 #ifndef GGO_GROUPS_H
22 #define GGO_GROUPS_H
23
24 #include "my_string.h"
25 #include "my_map.h"
26
27 /**
28  * Represents a group of options
29  */
30 struct Group
31 {
32   string desc;
33   bool required;
34
35   Group(const string &s, bool r) : desc (s), required (r) {}
36 };
37
38 typedef map<string,Group> groups_collection_t;
39
40 /**
41  * Represents a mode of options
42  */
43 struct Mode
44 {
45   string desc;
46
47   Mode(const string &s) : desc (s) {}
48 };
49
50 typedef map<string,Mode> modes_collection_t;
51
52 #endif // GROUPS_H