src/parser/Parse_Table.cc
Parse_Table::Parse_Table(Keyword const *const table, size_t const count, unsigned const flags)
    : vec(), flags_(static_cast<unsigned char>(flags)) {
  Require(count == 0 || table != nullptr);
  Require(count == 0 || std::find_if(table, table + count, Is_Well_Formed_Keyword));

  add(table, count);

  Ensure(check_class_invariants());
  Ensure(get_flags() == flags);
}
//------------------------------------------------------------------------------------------------//
/*!
 * \param table Pointer to an array of keywords.
 *
 * \param count Length of the array of keywords pointed to by \c table.
 * \param flags Initial value for parser flags.
 *
 * \throw invalid_argument If the keyword table is ill-formed or ambiguous.
 *
 * \note See documentation for \c Parse_Table::add for an explanation of the
 *       low-level argument list.
 */
\param table Pointer to an array of keywords.
\param count Length of the array of keywords pointed to by \c table.
\param flags Initial value for parser flags.

\throw invalid_argument If the keyword table is ill-formed or ambiguous.

\note See documentation for \c Parse_Table::add for an explanation of the
low-level argument list.
\ param table Pointer to an array of keywords . \ param count Length of the array of keywords pointed to by \ c table . \ param flags Initial value for parser flags . \ throw invalid_argument If the keyword table is ill - formed or ambiguous . \ note See documentation for \ c Parse_Table :: add for an explanation of the low - level argument list .
Parse_Table::Parse_Table(Keyword const *const table, size_t const count, unsigned const flags)
    : vec(), flags_(static_cast<unsigned char>(flags)) {
  Require(count == 0 || table != nullptr);
  Require(count == 0 || std::find_if(table, table + count, Is_Well_Formed_Keyword));
  add(table, count);
  Ensure(check_class_invariants());
  Ensure(get_flags() == flags);
}
Parse_Table :: Parse_Table ( Keyword const * const table , size_t const count , unsigned const flags ) : vec ( ) , flags_ ( static_cast < unsigned char > ( flags ) ) { Require ( count == 0 || table != nullptr ) ; Require ( count == 0 || std :: find_if ( table , table + count , Is_Well_Formed_Keyword ) ) ; add ( table , count ) ; Ensure ( check_class_invariants ( ) ) ; Ensure ( get_flags ( ) == flags ) ; }
\param table Pointer to an array of keywords.
\ param table Pointer to an array of keywords .