diff --git a/src/potential_file_reader.cpp b/src/potential_file_reader.cpp index c6c58ede36..ea0d70384c 100644 --- a/src/potential_file_reader.cpp +++ b/src/potential_file_reader.cpp @@ -83,6 +83,15 @@ void PotentialFileReader::next_dvector(int n, double * list) { } } +ValueTokenizer PotentialFileReader::next_values(int nparams, const std::string & seperators) { + try { + return reader->next_values(nparams, seperators); + } catch (FileReaderException & e) { + error->one(FLERR, e.what()); + } + return ValueTokenizer(""); +} + double PotentialFileReader::next_double() { try { char * line = reader->next_line(1); diff --git a/src/potential_file_reader.h b/src/potential_file_reader.h index 53d397ea31..02c50b6302 100644 --- a/src/potential_file_reader.h +++ b/src/potential_file_reader.h @@ -21,6 +21,7 @@ #include #include "pointers.h" +#include "tokenizer.h" #include "text_file_reader.h" namespace LAMMPS_NS @@ -43,6 +44,7 @@ namespace LAMMPS_NS void skip_line(); char * next_line(int nparams = 0); void next_dvector(int n, double * list); + ValueTokenizer next_values(int nparams, const std::string & seperators = TOKENIZER_DEFAULT_SEPERATORS); // convenience functions double next_double(); diff --git a/src/text_file_reader.cpp b/src/text_file_reader.cpp index fbd02c653e..bf2f18be84 100644 --- a/src/text_file_reader.cpp +++ b/src/text_file_reader.cpp @@ -115,3 +115,7 @@ void TextFileReader::next_dvector(int n, double * list) { } } } + +ValueTokenizer TextFileReader::next_values(int nparams, const std::string & seperators) { + return ValueTokenizer(next_line(nparams), seperators); +} diff --git a/src/text_file_reader.h b/src/text_file_reader.h index 79ced00259..57cedeb0fb 100644 --- a/src/text_file_reader.h +++ b/src/text_file_reader.h @@ -21,6 +21,7 @@ #include #include #include +#include "tokenizer.h" namespace LAMMPS_NS { @@ -39,8 +40,9 @@ namespace LAMMPS_NS void skip_line(); char * next_line(int nparams = 0); - + void next_dvector(int n, double * list); + ValueTokenizer next_values(int nparams, const std::string & seperators = TOKENIZER_DEFAULT_SEPERATORS); }; class FileReaderException : public std::exception {