src/parser/Debug_Options.cc
void add_debug_option(string const &option_name, unsigned const bit) {
  Require(bit != 0);         // corner case will fail
  Require(bit >= DEBUG_END); // can't redefine standard debug
  Require(is_bit(bit));

  if (extended_debug_option.find(option_name) != extended_debug_option.end()) {
    if (extended_debug_option[option_name] != bit) {
      throw std::invalid_argument("debug option redefined");
    }
    // else duplicate identical definition acceptable
  } else if (extended_debug_back_option.find(bit) != extended_debug_back_option.end()) {
    throw std::invalid_argument("bitflag already allocated");
  } else {
    extended_debug_option[option_name] = bit;
    extended_debug_back_option[bit] = option_name;
  }
}
//------------------------------------------------------------------------------------------------//
/*!
 * \brief Add a new debug option to the debug parser specific to an
 *      application. This version requests a specific bit and throws an
 *      exception if has already been requested elsewhere. This version will
 *      typically be called at the initial setup of an application.
 *
 * \param[in] option_name option keyword
 * \param[in] bit value to be assigned to the new debug option.
 */
\brief Add a new debug option to the debug parser specific to an
application. This version requests a specific bit and throws an
exception if has already been requested elsewhere. This version will
typically be called at the initial setup of an application.

\param[in] option_name option keyword
\param[in] bit value to be assigned to the new debug option.
\ brief Add a new debug option to the debug parser specific to an application . This version requests a specific bit and throws an exception if has already been requested elsewhere . This version will typically be called at the initial setup of an application . \ param [ in ] option_name option keyword \ param [ in ] bit value to be assigned to the new debug option .
void add_debug_option(string const &option_name, unsigned const bit) {
  Require(bit != 0);         
  Require(bit >= DEBUG_END); 
  Require(is_bit(bit));
  if (extended_debug_option.find(option_name) != extended_debug_option.end()) {
    if (extended_debug_option[option_name] != bit) {
      throw std::invalid_argument("debug option redefined");
    }
  } else if (extended_debug_back_option.find(bit) != extended_debug_back_option.end()) {
    throw std::invalid_argument("bitflag already allocated");
  } else {
    extended_debug_option[option_name] = bit;
    extended_debug_back_option[bit] = option_name;
  }
}
void add_debug_option ( string const & option_name , unsigned const bit ) { Require ( bit != 0 ) ; Require ( bit >= DEBUG_END ) ; Require ( is_bit ( bit ) ) ; if ( extended_debug_option . find ( option_name ) != extended_debug_option . end ( ) ) { if ( extended_debug_option [ option_name ] != bit ) { throw std :: invalid_argument ( " " ) ; } } else if ( extended_debug_back_option . find ( bit ) != extended_debug_back_option . end ( ) ) { throw std :: invalid_argument ( " " ) ; } else { extended_debug_option [ option_name ] = bit ; extended_debug_back_option [ bit ] = option_name ; } }
\brief Add a new debug option to the debug parser specific to an
      application.
\ brief Add a new debug option to the debug parser specific to an application .
// corner case will fail // can't redefine standard debug // else duplicate identical definition acceptable