yat  0.21pre
OptionSwitch.h
1 #ifndef _theplu_yat_utility_option_switch_
2 #define _theplu_yat_utility_option_switch_
3 
4 // $Id: OptionSwitch.h 4207 2022-08-26 04:36:28Z peter $
5 
6 /*
7  Copyright (C) 2007, 2008 Jari Häkkinen, Peter Johansson
8  Copyright (C) 2022 Peter Johansson
9 
10  This file is part of the yat library, http://dev.thep.lu.se/yat
11 
12  The yat library is free software; you can redistribute it and/or
13  modify it under the terms of the GNU General Public License as
14  published by the Free Software Foundation; either version 3 of the
15  License, or (at your option) any later version.
16 
17  The yat library is distributed in the hope that it will be useful,
18  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20  General Public License for more details.
21 
22  You should have received a copy of the GNU General Public License
23  along with yat. If not, see <http://www.gnu.org/licenses/>.
24 */
25 
26 #include "Option.h"
27 
28 #include <string>
29 
30 namespace theplu {
31 namespace yat {
32 namespace utility {
33 
34  class CommandLine;
38  class OptionSwitch : public Option
39  {
40  public:
50  OptionSwitch(CommandLine& cmd, std::string name,
51  std::string desc, bool def=false);
52 
53 
57  bool value(void) const;
58 
59  private:
62  void do_parse(std::vector<std::string>::iterator&,
63  const std::vector<std::string>::iterator&);
64 
69  virtual void do_parse2(std::vector<std::string>::iterator,
70  std::vector<std::string>::iterator);
71 
74  std::string print2(void) const;
75 
78  void do_validate(void) const;
79 
80  private:
81  bool def_;
82  bool switch_;
83  };
84 
85 }}} // of namespace utility, yat, and theplu
86 
87 #endif
The Department of Theoretical Physics namespace as we define it.
Class for switch option.
Definition: OptionSwitch.h:38
Class for parsing the command line.
Definition: CommandLine.h:98
bool value(void) const
return value
OptionSwitch(CommandLine &cmd, std::string name, std::string desc, bool def=false)
Constructor.
const CommandLine & cmd(void) const
Container of variables for an option.
Definition: Option.h:37

Generated on Wed Jan 25 2023 03:34:29 for yat by  doxygen 1.8.14