gravatar
alpar (Alpar Juttner)
alpar@cs.elte.hu
Hide and privatize member function funcOption()
0 1 0
default
1 file changed with 13 insertions and 11 deletions:
↑ Collapse diff ↑
Ignore white space 24 line context
... ...
@@ -94,24 +94,37 @@
94 94

	
95 95
    struct OtherArg
96 96
    {
97 97
      std::string name;
98 98
      std::string help;
99 99
      OtherArg(std::string n, std::string h) :name(n), help(h) {}
100 100

	
101 101
    };
102 102
      
103 103
    std::vector<OtherArg> _others_help;
104 104
    std::vector<std::string> _file_args;
105 105
    std::string _command_name;
106

	
107
    
108
  private:
109
    //Bind a function to an option.
110

	
111
    //\param name The name of the option. The leading '-' must be omitted.
112
    //\param help A help string.
113
    //\retval func The function to be called when the option is given. It
114
    //  must be of type "void f(void *)"
115
    //\param data Data to be passed to \c func
116
    ArgParser &funcOption(const std::string &name,
117
		    const std::string &help,
118
		    void (*func)(void *),void *data);
106 119
    
107 120
  public:
108 121

	
109 122
    ///\e
110 123
    ArgParser(int argc, const char **argv);
111 124

	
112 125
    ~ArgParser();
113 126

	
114 127
    ///Add a new integer type option
115 128

	
116 129
    ///\param name The name of the option. The leading '-' must be omitted.
117 130
    ///\param help A help string.
... ...
@@ -142,35 +155,24 @@
142 155
		      const std::string &help,
143 156
		      bool value=false, bool obl=false);
144 157

	
145 158
    ///Add a new string type option
146 159

	
147 160
    ///\param name The name of the option. The leading '-' must be omitted.
148 161
    ///\param help A help string.
149 162
    ///\retval value The value of the argument will be written to this variable.
150 163
    ///\param obl Indicate if the option is mandatory.
151 164
    ArgParser &stringOption(const std::string &name,
152 165
		      const std::string &help,
153 166
		      std::string value="", bool obl=false);
154
    
155
    ///Bind a function to an option.
156

	
157
    ///\param name The name of the option. The leading '-' must be omitted.
158
    ///\param help A help string.
159
    ///\retval func The function to be called when the option is given. It
160
    ///  must be of type "void f(void *)"
161
    ///\param data Data to be passed to \c func
162
    ArgParser &funcOption(const std::string &name,
163
		    const std::string &help,
164
		    void (*func)(void *),void *data);
165 167

	
166 168
    ///\name Options with an external strorage.
167 169
    ///Using this functions, the value of the option will be directly written
168 170
    ///into a variable once the option appears in the command line.
169 171

	
170 172
    ///@{
171 173

	
172 174
    ///Add a new integer type option with a storage reference
173 175

	
174 176
    ///\param name The name of the option. The leading '-' must be omitted.
175 177
    ///\param help A help string.
176 178
    ///\retval ref The value of the argument will be written to this variable.
0 comments (0 inline)