diff --git a/src/text_file_reader.cpp b/src/text_file_reader.cpp index 8fc57d9283..ab1c81efb1 100644 --- a/src/text_file_reader.cpp +++ b/src/text_file_reader.cpp @@ -22,6 +22,7 @@ #include "utils.h" #include +#include using namespace LAMMPS_NS; @@ -68,8 +69,8 @@ This function is useful in combination with :cpp:func:`utils::open_potential`. * \param fp File descriptor of the already opened file * \param filetype Description of file type for error messages */ -TextFileReader::TextFileReader(FILE *fp, const std::string &filetype) : - filetype(filetype), closefp(false), fp(fp), ignore_comments(true) +TextFileReader::TextFileReader(FILE *fp, std::string filetype) : + filetype(std::move(filetype)), closefp(false), fp(fp), ignore_comments(true) { if (fp == nullptr) throw FileReaderException("Invalid file descriptor"); } diff --git a/src/text_file_reader.h b/src/text_file_reader.h index 826f470299..34556d7eb3 100644 --- a/src/text_file_reader.h +++ b/src/text_file_reader.h @@ -34,7 +34,7 @@ class TextFileReader { bool ignore_comments; //!< Controls whether comments are ignored TextFileReader(const std::string &filename, const std::string &filetype); - TextFileReader(FILE *fp, const std::string &filetype); + TextFileReader(FILE *fp, std::string filetype); ~TextFileReader(); diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp index 95aa175fdf..35a313ab3d 100644 --- a/src/tokenizer.cpp +++ b/src/tokenizer.cpp @@ -49,8 +49,8 @@ TokenizerException::TokenizerException(const std::string &msg, const std::string * \param str string to be processed * \param _separators string with separator characters (default: " \t\r\n\f") */ -Tokenizer::Tokenizer(const std::string &str, const std::string &_separators) : - text(str), separators(_separators), start(0), ntokens(std::string::npos) +Tokenizer::Tokenizer(std::string str, std::string _separators) : + text(std::move(str)), separators(std::move(_separators)), start(0), ntokens(std::string::npos) { // replace known UTF-8 characters with ASCII equivalents if (utils::has_utf8(text)) text = utils::utf8_subst(text); diff --git a/src/tokenizer.h b/src/tokenizer.h index cacfc541a4..247afd0240 100644 --- a/src/tokenizer.h +++ b/src/tokenizer.h @@ -35,7 +35,7 @@ class Tokenizer { size_t ntokens; public: - Tokenizer(const std::string &str, const std::string &separators = TOKENIZER_DEFAULT_SEPARATORS); + Tokenizer(std::string str, std::string separators = TOKENIZER_DEFAULT_SEPARATORS); Tokenizer(Tokenizer &&); Tokenizer(const Tokenizer &); Tokenizer &operator=(const Tokenizer &);