From dc5afd5236afa4290ae043387a1c10583b86ed21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Kvalsvik?= Date: Wed, 3 Feb 2016 12:18:07 +0100 Subject: [PATCH] DeckKeyword::ParserKeyword to regular pointer --- opm/parser/eclipse/Deck/DeckKeyword.cpp | 12 ++++++------ opm/parser/eclipse/Deck/DeckKeyword.hpp | 6 +++--- opm/parser/eclipse/Parser/Parser.cpp | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/opm/parser/eclipse/Deck/DeckKeyword.cpp b/opm/parser/eclipse/Deck/DeckKeyword.cpp index b7d423247..2969054ff 100644 --- a/opm/parser/eclipse/Deck/DeckKeyword.cpp +++ b/opm/parser/eclipse/Deck/DeckKeyword.cpp @@ -44,14 +44,14 @@ namespace Opm { m_lineNumber = lineNumber; } - std::shared_ptr DeckKeyword::getParserKeyword() const { - if (!m_parserKeyword) + const ParserKeyword* DeckKeyword::getParserKeyword() const { + if (!this->m_parserKeyword) throw std::invalid_argument("No ParserKeyword object available"); - return m_parserKeyword; + return this->m_parserKeyword; } bool DeckKeyword::hasParserKeyword() const { - return static_cast(m_parserKeyword); + return static_cast< bool >( m_parserKeyword ); } const std::string& DeckKeyword::getFileName() const { @@ -62,8 +62,8 @@ namespace Opm { return m_lineNumber; } - void DeckKeyword::setParserKeyword(std::shared_ptr &parserKeyword) { - m_parserKeyword = parserKeyword; + void DeckKeyword::setParserKeyword( const ParserKeyword* parserKeyword ) { + this->m_parserKeyword = parserKeyword; } void DeckKeyword::setDataKeyword(bool isDataKeyword_) { diff --git a/opm/parser/eclipse/Deck/DeckKeyword.hpp b/opm/parser/eclipse/Deck/DeckKeyword.hpp index 79c3b35d1..628d8e8b3 100644 --- a/opm/parser/eclipse/Deck/DeckKeyword.hpp +++ b/opm/parser/eclipse/Deck/DeckKeyword.hpp @@ -32,11 +32,11 @@ namespace Opm { * If no parser keyword is available, this method throws * std::invalid_exception. Use hasParserKeyword() to test if one is available.. */ - std::shared_ptr getParserKeyword() const; + const ParserKeyword* getParserKeyword() const; bool hasParserKeyword() const; - void setParserKeyword(std::shared_ptr &parserKeyword); + void setParserKeyword(const ParserKeyword* parserKeyword); size_t size() const; void addRecord(std::shared_ptr< const DeckRecord > record); @@ -67,7 +67,7 @@ namespace Opm { std::string m_fileName; int m_lineNumber; - std::shared_ptr m_parserKeyword; + const ParserKeyword* m_parserKeyword; std::vector> m_recordList; bool m_knownKeyword; bool m_isDataKeyword; diff --git a/opm/parser/eclipse/Parser/Parser.cpp b/opm/parser/eclipse/Parser/Parser.cpp index 1419c4f7c..428c120b9 100644 --- a/opm/parser/eclipse/Parser/Parser.cpp +++ b/opm/parser/eclipse/Parser/Parser.cpp @@ -403,7 +403,7 @@ namespace Opm { if (isRecognizedKeyword(parserState->rawKeyword->getKeywordName())) { ParserKeywordConstPtr parserKeyword = getParserKeywordFromDeckName(parserState->rawKeyword->getKeywordName()); DeckKeywordPtr deckKeyword = parserKeyword->parse(parserState->parseMode , parserState->rawKeyword); - deckKeyword->setParserKeyword(parserKeyword); + deckKeyword->setParserKeyword(parserKeyword.get()); parserState->deck->addKeyword(deckKeyword); } else { DeckKeywordPtr deckKeyword(new DeckKeyword(parserState->rawKeyword->getKeywordName(), false));