<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hello guys,</p>
    <p>I know that Qt already has its own stuff for CLI parsing. I don't
      remember who told it, but - more good libraries, more and more...</p>
    <p>I want to tell you about Args. Probably you know about QtArg. So
      QtArg is a parent of Args. Args on one side a little simpler than
      QtArg, but on another side it has different features. Args support
      both worlds - pure C++ (with std::string or std::wstring) and Qt
      with QString. You just define ARGS_WSTRING_BUILD,
      ARGS_QSTRING_BUILD or nothing to build Args with std::wstring,
      QString or std::string support.</p>
    <p>Bellow is release announcement of Args 3.0.1 <br>
    </p>
    <blockquote>
      <p>"First of all I have to say about new features in Args version
        3.0.1. In this version was added new class ArgAsCommand. This is
        special argument with name like in Command (i.e. without
        starting dashes). But this is not a command. Command can has
        child arguments, groups. But ArgAsCommand can't. It can has one
        value or many values, or can be without value. ArgAsCommand can
        be defined only once in CLI. And ArgAsCommand can be added into
        groups and commands.<br>
        <br>
        I wrote about commands, but what is it?! Command is an argument
        in CLI without starting dashes, like "add", "delete", "move".
        And in command developer can add child arguments. Child argument
        are valid only if command was defined. This is reflected in help
        of Args, I wrote about it.<br>
        <br>
        And groups... Why developer need them? Groups are useful for
        checking of state of arguments after parsing. You can just say -
        I want arguments "-a" and "-b" to be required and I want only
        one of arguments "-c" and "-d" be required, i.e. if defined both
        "-c" and "-d" - is an error. You can mix groups in any way, you
        can nest them. And I suggest to name groups like - "only one
        argument can be defined - "-c" or "-d"". In this case user will
        see understandable error message if he will put wrong arguments.<br>
        <br>
        Since first version of Args there are two types of arguments.
        These are Arg and MultiArg. Different is simple - Arg can be
        defined only once whereas MultiArg can be defined multiply
        times. These arguments can be with value or without, can be
        required or not.<br>
        <br>
        And one more thing that you should know about groups - you can't
        add required argument into group, and you can't add command into
        it. But if group is AllOfGroup and it's required then in help
        arguments of this group will be printed as required."</p>
    </blockquote>
    <p>And in Args 4.0.0 was added support of different string types.</p>
    <p>Major difference of Args with QtArg that Args doesn't support any
      number of names of argument, you just can specify name and flag.
      But in Args implemented different groups and ArgAsCommand. And in
      Args you can't shorten name of argument, you have to write full
      name.</p>
    <p>I think that I will stop further development of QtArg, I will fix
      bugs only, but new features I will not add. <br>
    </p>
    <p>Args you can find here -
      <a class="moz-txt-link-freetext" href="https://github.com/igormironchik/args-parser">https://github.com/igormironchik/args-parser</a><br>
    </p>
  <div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br />
<table style="border-top: 1px solid #D3D4DE;">
        <tr>
        <td style="width: 55px; padding-top: 13px;"><a href="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg-v1.png" width="46" height="29" style="width: 46px; height: 29px;" /></a></td>
                <td style="width: 470px; padding-top: 12px; color: #41424e; font-size: 13px; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">Virus-free. <a href="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank" style="color: #4453ea;">www.avg.com</a>
                </td>
        </tr>
</table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"> </a></div></body>
</html>