/* * It is assumed that after a record is terminated, there is no quote marks * in the subsequent comment. This is in accordance with the Eclipse user * manual. * * If a "non-complete" record string is supplied, an invalid_argument * exception is thrown. * */ RawRecord::RawRecord(const std::string& singleRecordString, const std::string& fileName, const std::string& keywordName) : m_fileName(fileName), m_keywordName(keywordName){ if (isTerminatedRecordString(singleRecordString)) { setRecordString(singleRecordString); splitSingleRecordString(); } else { throw std::invalid_argument("Input string is not a complete record string," " offending string: " + singleRecordString); } }
RawRecord::RawRecord(std::string&& singleRecordString, const std::string& fileName, const std::string& keywordName) : m_sanitizedRecordString( trim_record( std::move( singleRecordString ) ) ), m_recordItems( splitSingleRecordString( m_sanitizedRecordString ) ), m_fileName(fileName), m_keywordName(keywordName) { if( !even_quotes( singleRecordString ) ) throw std::invalid_argument( "Input string is not a complete record string, " "offending string: " + singleRecordString ); }