src/parser/Parallel_File_Token_Stream.cc
Parallel_File_Token_Stream::Parallel_File_Token_Stream(string const &file_name, set<char> const &ws)
    : Text_Token_Stream(ws), letters_(), letter_(make_shared<letter>(file_name)) {
  Ensure(check_class_invariants());
  Ensure(Parallel_File_Token_Stream::location_() == file_name + ", line 1");
  Ensure(whitespace() == ws);
}
//------------------------------------------------------------------------------------------------//
/*!
 * \brief Construct a Parallel_File_Token_Stream that derives its text from the
 *        specified file. If the file cannot be opened, then \c error() will
 *        test true.
 *
 * \param[in] file_name Name of the file from which to extract tokens.
 * \param[in] ws Points to a string containing user-defined whitespace
 *                 characters.
 *
 * \throw std::bad_alloc If there is not enough memory to initialize the token
 *                 and character queues.
 * \throw std::invalid_argument If the file cannot be opened.
 *
 * \todo Make this constructor more failsafe.
 */
\brief Construct a Parallel_File_Token_Stream that derives its text from the
specified file. If the file cannot be opened, then \c error() will
test true.

\param[in] file_name Name of the file from which to extract tokens.
\param[in] ws Points to a string containing user-defined whitespace
characters.

\throw std::bad_alloc If there is not enough memory to initialize the token
and character queues.
\throw std::invalid_argument If the file cannot be opened.

\todo Make this constructor more failsafe.
\ brief Construct a Parallel_File_Token_Stream that derives its text from the specified file . If the file cannot be opened then \ c error () will test true . \ param [ in ] file_name Name of the file from which to extract tokens . \ param [ in ] ws Points to a string containing user - defined whitespace characters . \ throw std :: bad_alloc If there is not enough memory to initialize the token and character queues . \ throw std :: invalid_argument If the file cannot be opened . \ todo Make this constructor more failsafe .
Parallel_File_Token_Stream::Parallel_File_Token_Stream(string const &file_name, set<char> const &ws)
    : Text_Token_Stream(ws), letters_(), letter_(make_shared<letter>(file_name)) {
  Ensure(check_class_invariants());
  Ensure(Parallel_File_Token_Stream::location_() == file_name + ", line 1");
  Ensure(whitespace() == ws);
}
Parallel_File_Token_Stream :: Parallel_File_Token_Stream ( string const & file_name , set < char > const & ws ) : Text_Token_Stream ( ws ) , letters_ ( ) , letter_ ( make_shared < letter > ( file_name ) ) { Ensure ( check_class_invariants ( ) ) ; Ensure ( Parallel_File_Token_Stream :: location_ ( ) == file_name + " " ) ; Ensure ( whitespace ( ) == ws ) ; }
\brief Construct a Parallel_File_Token_Stream that derives its text from the
        specified file.
\ brief Construct a Parallel_File_Token_Stream that derives its text from the specified file .