Merge pull request 2 from joakim-hove/master - Added code to add Keywords to parser class
This commit is contained in:
parent
aa8cd7b4ca
commit
0d5ce81809
@ -1,4 +1,5 @@
|
||||
add_library(Parser RawDeck/RawDeck.cpp RawDeck/RawKeyword.cpp RawDeck/RawRecord.cpp RawDeck/RawParserKWs.cpp Parser/Parser.cpp Parser/ParserRecordSize.cpp Parser/ParserKW.cpp)
|
||||
add_library(Parser RawDeck/RawDeck.cpp RawDeck/RawKeyword.cpp RawDeck/RawRecord.cpp RawDeck/RawParserKWs.cpp Parser/ParserRecordSize.cpp Parser/ParserKW.cpp Parser/Parser.cpp)
|
||||
|
||||
add_library(Logger Logger.cpp)
|
||||
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
@ -16,8 +16,9 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "Parser.hpp"
|
||||
#include "RawDeck/RawParserKWs.hpp"
|
||||
#include "opm/parser/eclipse/Parser/Parser.hpp"
|
||||
#include "opm/parser/eclipse/Parser/ParserKW.hpp"
|
||||
#include "opm/parser/eclipse/RawDeck/RawParserKWs.hpp"
|
||||
|
||||
namespace Opm {
|
||||
|
||||
@ -34,8 +35,12 @@ namespace Opm {
|
||||
return rawDeck;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Parser::~Parser() {
|
||||
}
|
||||
|
||||
void Parser::addKW(ParserKWConstPtr parserKW) {
|
||||
keywords.insert(std::make_pair(parserKW->getName(), parserKW));
|
||||
}
|
||||
|
||||
|
||||
} // namespace Opm
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include <opm/parser/eclipse/Logger.hpp>
|
||||
#include <opm/parser/eclipse/RawDeck/RawKeyword.hpp>
|
||||
#include <opm/parser/eclipse/RawDeck/RawDeck.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/Parser/ParserKW.hpp>
|
||||
|
||||
namespace Opm {
|
||||
|
||||
@ -34,8 +34,12 @@ namespace Opm {
|
||||
public:
|
||||
Parser();
|
||||
RawDeckPtr parse(const std::string &path);
|
||||
virtual ~Parser();
|
||||
virtual ~Parser();
|
||||
|
||||
void addKW(ParserKWConstPtr parserKW);
|
||||
|
||||
private:
|
||||
std::map<std::string,ParserKWConstPtr> keywords;
|
||||
};
|
||||
|
||||
typedef boost::shared_ptr<Parser> ParserPtr;
|
||||
|
@ -50,7 +50,7 @@ namespace Opm {
|
||||
|
||||
//-----------------------------------------------------------------//
|
||||
|
||||
const std::string& ParserKW::getName() {
|
||||
const std::string& ParserKW::getName() const {
|
||||
return m_name;
|
||||
}
|
||||
|
||||
|
@ -20,6 +20,8 @@
|
||||
#define PARSER_KW_H
|
||||
|
||||
#include <string>
|
||||
#include <boost/shared_ptr.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/Parser/ParserRecordSize.hpp>
|
||||
|
||||
namespace Opm {
|
||||
@ -31,12 +33,14 @@ namespace Opm {
|
||||
ParserKW(const std::string& name , ParserRecordSizeConstPtr recordSize);
|
||||
~ParserKW();
|
||||
|
||||
const std::string& getName();
|
||||
const std::string& getName() const;
|
||||
private:
|
||||
std::string m_name;
|
||||
ParserRecordSizeConstPtr recordSize;
|
||||
};
|
||||
|
||||
|
||||
typedef boost::shared_ptr<ParserKW> ParserKWPtr;
|
||||
typedef boost::shared_ptr<const ParserKW> ParserKWConstPtr;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -26,7 +26,10 @@
|
||||
#define BOOST_TEST_MODULE ParserTests
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
|
||||
#include "opm/parser/eclipse/Parser/Parser.hpp"
|
||||
#include "opm/parser/eclipse/Parser/ParserKW.hpp"
|
||||
#include "opm/parser/eclipse/Parser/ParserRecordSize.hpp"
|
||||
#include "opm/parser/eclipse/RawDeck/RawDeck.hpp"
|
||||
using namespace Opm;
|
||||
|
||||
@ -167,4 +170,12 @@ BOOST_AUTO_TEST_CASE(ParseFullTestFile) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(ParserAddKW) {
|
||||
Parser parser;
|
||||
{
|
||||
ParserRecordSizePtr recordSize(new ParserRecordSize(9));
|
||||
ParserKWPtr equilKW(new ParserKW("EQUIL" , recordSize) );
|
||||
|
||||
parser.addKW( equilKW );
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user