]> Creatis software - clitk.git/blob - cmake/gengetopt/skels/free_list.h
Added FindGengetopt.cmake which compiles gengetopt if not installed.
[clitk.git] / cmake / gengetopt / skels / free_list.h
1 /*
2  * File automatically generated by
3  * gengen 1.2 by Lorenzo Bettini 
4  * http://www.gnu.org/software/gengen
5  */
6
7 #ifndef FREE_LIST_GEN_CLASS_H
8 #define FREE_LIST_GEN_CLASS_H
9
10 #include <string>
11 #include <iostream>
12
13 using std::string;
14 using std::ostream;
15
16 class free_list_gen_class
17 {
18  protected:
19   string list_name;
20   bool string_list;
21
22  public:
23   free_list_gen_class() :
24     string_list (false)
25   {
26   }
27   
28   free_list_gen_class(const string &_list_name, bool _string_list) :
29     list_name (_list_name), string_list (_string_list)
30   {
31   }
32
33   static void
34   generate_string(const string &s, ostream &stream, unsigned int indent)
35   {
36     if (!indent || s.find('\n') == string::npos)
37       {
38         stream << s;
39         return;
40       }
41
42     string::size_type pos;
43     string::size_type start = 0;
44     string ind (indent, ' ');
45     while ( (pos=s.find('\n', start)) != string::npos)
46       {
47         stream << s.substr (start, (pos+1)-start);
48         start = pos+1;
49         if (start+1 <= s.size ())
50           stream << ind;
51       }
52     if (start+1 <= s.size ())
53       stream << s.substr (start);
54   }
55
56   void set_list_name(const string &_list_name)
57   {
58     list_name = _list_name;
59   }
60
61   void set_string_list(bool _string_list)
62   {
63     string_list = _string_list;
64   }
65
66   void generate_free_list(ostream &stream, unsigned int indent = 0);
67   
68 };
69
70 #endif // FREE_LIST_GEN_CLASS_H