]> cygwin.com Git - cygwin-apps/setup.git/blobdiff - libgetopt++/include/getopt++/BoolOption.h
Implement paired boolean options
[cygwin-apps/setup.git] / libgetopt++ / include / getopt++ / BoolOption.h
index 35227cb1d390e1f8b6bea819b6f16796ad164403..8b20e1cca2e6b0a8acb0900f86770d98abef32e9 100644 (file)
 class BoolOption : public Option
 {
 public:
+  enum class BoolOptionType
+    {
+     simple,
+     pairedAble,
+     pairedNo,
+    };
+
   BoolOption(bool const defaultvalue, char shortopt, char const *longopt = 0,
-            std::string const &shorthelp = std::string(), 
-            OptionSet &owner=GetOption::GetInstance());
+             std::string const &shorthelp = std::string(),
+             BoolOptionType type = BoolOptionType::simple,
+             OptionSet &owner=GetOption::GetInstance());
   virtual ~ BoolOption ();
   virtual std::string const shortOption () const;
   virtual std::string const longOption () const;
+  virtual std::vector<std::string> const & longOptionPrefixes () const;
   virtual std::string const shortHelp () const;
-  virtual Result Process (char const *);
+  virtual Result Process (char const *, int);
   virtual Argument argument () const;
   operator bool () const;
 
 private:
   bool _value;
@@ -41,6 +49,7 @@ private:
   char _shortopt;
   char const *_longopt;
   std::string _shorthelp;
+  BoolOptionType _type;
 };
 
 #endif // _BOOLOPTION_H_
This page took 0.027293 seconds and 5 git commands to generate.