From 2966412bceac294d89e60e5d16b9960213ba80fb Mon Sep 17 00:00:00 2001 From: Rebecca Cox Date: Thu, 21 Sep 2017 12:21:43 +0200 Subject: [PATCH] #1816 Observed data: Only one timesteps-vector in ascii parser --- .../RifColumnBasedAsciiParser.cpp | 24 ++++++++++++++++++- .../FileInterface/RifColumnBasedAsciiParser.h | 22 ++++++++++------- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/ApplicationCode/FileInterface/RifColumnBasedAsciiParser.cpp b/ApplicationCode/FileInterface/RifColumnBasedAsciiParser.cpp index cbcc5dd169..43a7b9dbe0 100644 --- a/ApplicationCode/FileInterface/RifColumnBasedAsciiParser.cpp +++ b/ApplicationCode/FileInterface/RifColumnBasedAsciiParser.cpp @@ -51,11 +51,33 @@ const std::vector& RifColumnBasedAsciiParser::timeSteps() const //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -const std::vector& RifColumnBasedAsciiParser::columnValues(size_t columnIndex) const +const std::vector RifColumnBasedAsciiParser::columnValues(size_t columnIndex) const { + if (m_data.m_values.size() <= columnIndex) + { + std::vector dummy; + return dummy; + } + return m_data.m_values[columnIndex]; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const std::vector< std::vector >& RifColumnBasedAsciiParser::values() const +{ + return m_data.m_values; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const size_t RifColumnBasedAsciiParser::columnCount() const +{ + return m_data.m_values.size(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/FileInterface/RifColumnBasedAsciiParser.h b/ApplicationCode/FileInterface/RifColumnBasedAsciiParser.h index e35a23566b..1fb28551d6 100644 --- a/ApplicationCode/FileInterface/RifColumnBasedAsciiParser.h +++ b/ApplicationCode/FileInterface/RifColumnBasedAsciiParser.h @@ -24,12 +24,6 @@ #include -struct AsciiData -{ - std::vector m_headers; - std::vector m_timeSteps; - std::vector< std::vector > m_values; -}; //================================================================================================== /// @@ -39,13 +33,23 @@ class RifColumnBasedAsciiParser public: RifColumnBasedAsciiParser(QString& data, const QString dateFormat, QLocale decimalLocale, QString cellSeparator); - const std::vector& headers() const; - const std::vector& timeSteps() const; - const std::vector& columnValues(size_t columnIndex) const; + const std::vector& headers() const; + const std::vector& timeSteps() const; + const std::vector columnValues(size_t columnIndex) const; + const std::vector>& values() const; + const size_t columnCount() const; private: void parseData(QString& data, QString dateFormat, QLocale decimalLocale, QString cellSeparator); private: + + struct AsciiData + { + std::vector m_headers; + std::vector m_timeSteps; + std::vector< std::vector > m_values; + }; + AsciiData m_data; };