src/ds++/XGetopt.hh
XGetopt(int const argc, char **&argv, csmap const &longopts_, csmap helpstrings_ = csmap())
      : optind(0), optarg(), // empty string
        cmd_line_args(argv + 1, argv + argc), longopts(store_longopts(longopts_)),
        vshortopts_hasarg(std::map<char, bool>()), vshortopts(decompose_longopts(longopts_)),
        helpstrings(std::move(helpstrings_)) {
    match_args_to_options();
  }
/*!
   * \brief Xgetopt constructor that requires a map that includes char-to-string names of options
   *        that are to be recognized.
   *
   * \param[in] argc The number of command line arguments
   * \param[in] argv An array of C-style strings that represent the command line.
   * \param[in] longopts_ A map whose keys are letters that represent known command line arguments.
   *            Associated values are strings that provide identical functionality.  These string
   *            values may be followed by a colon represents an option that requires that an
   *            additional argument be provided.
   * \param[in] helpstrings_ A map of strings whose keys must match values proivded in shortopts and
   *            whose values are messages related to each option that will be printed by the member
   *            function display_help.
   */
\brief Xgetopt constructor that requires a map that includes char-to-string names of options
that are to be recognized.

\param[in] argc The number of command line arguments
\param[in] argv An array of C-style strings that represent the command line.
\param[in] longopts_ A map whose keys are letters that represent known command line arguments.
Associated values are strings that provide identical functionality.  These string
values may be followed by a colon represents an option that requires that an
additional argument be provided.
\param[in] helpstrings_ A map of strings whose keys must match values proivded in shortopts and
whose values are messages related to each option that will be printed by the member
function display_help.
\ brief Xgetopt constructor that requires a map that includes char - to - string names of options that are to be recognized . \ param [ in ] argc The number of command line arguments \ param [ in ] argv An array of C - style strings that represent the command line . \ param [ in ] longopts_ A map whose keys are letters that represent known command line arguments . Associated values are strings that provide identical functionality . These string values may be followed by a colon represents an option that requires that an additional argument be provided . \ param [ in ] helpstrings_ A map of strings whose keys must match values proivded in shortopts and whose values are messages related to each option that will be printed by the member function display_help .
XGetopt(int const argc, char **&argv, csmap const &longopts_, csmap helpstrings_ = csmap())
      : optind(0), optarg(), 
        cmd_line_args(argv + 1, argv + argc), longopts(store_longopts(longopts_)),
        vshortopts_hasarg(std::map<char, bool>()), vshortopts(decompose_longopts(longopts_)),
        helpstrings(std::move(helpstrings_)) {
    match_args_to_options();
  }
XGetopt ( int const argc , char * * & argv , csmap const & longopts_ , csmap helpstrings_ = csmap ( ) ) : optind ( 0 ) , optarg ( ) , cmd_line_args ( argv + 1 , argv + argc ) , longopts ( store_longopts ( longopts_ ) ) , vshortopts_hasarg ( std :: map < char , bool > ( ) ) , vshortopts ( decompose_longopts ( longopts_ ) ) , helpstrings ( std :: move ( helpstrings_ ) ) { match_args_to_options ( ) ; }
\brief Xgetopt constructor that requires a map that includes char-to-string names of options
        that are to be recognized.
\ brief Xgetopt constructor that requires a map that includes char - to - string names of options that are to be recognized .
// empty string