Update require text.
[command.git] / include / option.h
index 115676665388a3fb88f42ce065bde8ae85bf4b39..935914e86112dca86c6e8bf5fad935785773c843 100644 (file)
@@ -10,7 +10,7 @@
 namespace command {
     /**
      * Class responsible for handling commandline options.
-     * Options are non-required, named parameters of program.
+     * Options are named parameters of program.
      *
      * Example:
      *  ./myprog OptionName=OptionValue
@@ -33,9 +33,6 @@ namespace command {
          */
         OptionType value;
 
-        /** Variable indicating if current Option was already used or not */
-        bool used = false;
-
     public:
         /**
          * Default constructor.
@@ -90,7 +87,7 @@ namespace command {
         virtual bool understand(const std::string & argv)
             throw(std::invalid_argument) {
 
-            if ((!used) && (argv.find(name) == 0)) {
+            if ((!isUsed()) && (argv.find(name) == 0)) {
                 std::size_t pos = argv.find("=");
 
                 if (pos != name.size()) {
@@ -99,7 +96,7 @@ namespace command {
 
                 std::stringstream ss;
                 ss << argv.substr(pos + 1);
-                ss >> value;// memory leak? when is uncommented, and exception is
+                ss >> value;// memory leak? when uncommented and exception is
                             // thrown, valgrind shows e.g.:
                             //  possibly lost: 380 bytes in 7 blocks
 
@@ -136,10 +133,6 @@ namespace command {
          * Current Option name
          */
         const OptionName name;
-
-        /** Variable indicating if current Option was already used or not */
-        bool used = false;
-
     public:
         /**
          * Default constructor.
@@ -175,7 +168,7 @@ namespace command {
          *  used to check against next value.
          */
         virtual bool understand(const std::string & argv) {
-            if ((!used) &&
+            if ((!isUsed()) &&
                 (argv == name)) {
                 used = true;
                 return true;