<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Option_String</title><link>https://sourceforge.net/p/cmdconfig/wiki/Option_String/</link><description>Recent changes to Option_String</description><atom:link href="https://sourceforge.net/p/cmdconfig/wiki/Option_String/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 23 Sep 2014 14:38:12 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/cmdconfig/wiki/Option_String/feed" rel="self" type="application/rss+xml"/><item><title>Option_String modified by Ray</title><link>https://sourceforge.net/p/cmdconfig/wiki/Option_String/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -15,3 +15,26 @@
     program non-optional -m

 because in contrast to the POSIX *getopt*, CmdConfig **does not do any argument reordering**.
+
+**Specifying a boolean option**
+A boolean option is one that does not permit and accept any arguments. It is simply specified by including its discerning character in the option string. For example, an option string of
+    
+    "bf ad vg"
+
+specifies only boolean options, which, given on the command line, would look like -b, -f, -a, -d, -v or -g, respectively. 
+
+**Specifying a argument-requiring option**
+As specified above, an argument requiring option's discerning character must be followed by a single colon. For example,
+
+    "ab:cd:"
+
+specifies two boolean options (-a and -c) and two argument-requiring options -b and -d, thus you would need to supply at least one argument to each if you switch them on:
+
+    -b arg_to_b -d arg_to_d
+
+**Specifying an argument-optional option**
+Options, whose discerning characters in the option string are followed by a double colon, can be followed by an argument value, but that's not required. You can switch them on without an argument, just pay attention to the tricky part as described above. For example,
+
+    "ab:c::" 
+
+specifies that -a is not followed by any argument, -b must be followed by an argument when it is seen on the command line, and -c can be followed by an argument.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ray</dc:creator><pubDate>Tue, 23 Sep 2014 14:38:12 -0000</pubDate><guid>https://sourceforge.net34728b67526a23c9ca2d9e7e7219781e8a8f5622</guid></item><item><title>Option_String modified by Ray</title><link>https://sourceforge.net/p/cmdconfig/wiki/Option_String/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -6,4 +6,12 @@

 All white space in the option string is ignored, so if you find it useful, you can separate the options into groups by spaces. 
 An option is defined by its character, which can be any printable non-WS character except a minus (-) and a colon (:). This character, preceded by a minus, is then sought by the parser when parsing the command line arguments. 
-The option character in the *option string* can be followed by one or two colons. When followed by a single colon, the option is required to have an argument value if seen on the command line. If an argument-requiring option is seen on the command line, but followed by no argument, the parseArguments() method shall return *false* (see [Parsing](Parsing)). Option character followed by a double colon denotes an option with *optional* argument. Such option can be left without any argument value. Note however that this could turn out to be tricky:
+The option character in the *option string* can be followed by one or two colons. When followed by a single colon, the option is required to have an argument value if seen on the command line. If an argument-requiring option is seen on the command line, but followed by no argument, the parseArguments() method shall return *false* (see [Parsing](Parsing)). Option character followed by a double colon denotes an option with *optional* argument. Such option can be left without any argument value. Note however that this could turn out to be tricky. For example, assume you have a "-m::" optional-argument option, and you want to specify this option On without argument value, but specify a non-optional argument. Then the command:
+    
+    program -m non-optional
+
+will not do what you expect. the "non-optional" string will become _option m_'s value. You would have to change the order of the arguments to
+
+    program non-optional -m
+
+because in contrast to the POSIX *getopt*, CmdConfig **does not do any argument reordering**.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ray</dc:creator><pubDate>Tue, 23 Sep 2014 13:08:15 -0000</pubDate><guid>https://sourceforge.net2badaeeaba6af8b39a28da946b5ddd3f8d6a5d71</guid></item><item><title>Option_String modified by Ray</title><link>https://sourceforge.net/p/cmdconfig/wiki/Option_String/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,2 +1,9 @@
 Config - The Option String
 --------------------------
+In order for the parser to know what options to expect and what arguments they should have, one passes so called *option string* to the constructor of the *Config* class. Generally speaking, the option string has the following regexp pattern:
+
+    ([^-: \t]:?:?)+
+
+All white space in the option string is ignored, so if you find it useful, you can separate the options into groups by spaces. 
+An option is defined by its character, which can be any printable non-WS character except a minus (-) and a colon (:). This character, preceded by a minus, is then sought by the parser when parsing the command line arguments. 
+The option character in the *option string* can be followed by one or two colons. When followed by a single colon, the option is required to have an argument value if seen on the command line. If an argument-requiring option is seen on the command line, but followed by no argument, the parseArguments() method shall return *false* (see [Parsing](Parsing)). Option character followed by a double colon denotes an option with *optional* argument. Such option can be left without any argument value. Note however that this could turn out to be tricky:
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ray</dc:creator><pubDate>Tue, 23 Sep 2014 13:01:00 -0000</pubDate><guid>https://sourceforge.net18bbfa9bd0f0e2c548e9b8c5a5d0a7c46806eb51</guid></item><item><title>Option_String modified by Ray</title><link>https://sourceforge.net/p/cmdconfig/wiki/Option_String/</link><description>&lt;div class="markdown_content"&gt;&lt;h2 id="config-the-option-string"&gt;Config - The Option String&lt;/h2&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ray</dc:creator><pubDate>Tue, 23 Sep 2014 12:30:58 -0000</pubDate><guid>https://sourceforge.net0961bd0b564e7605d789b17e5ae89ad308f654ab</guid></item></channel></rss>