DeckKeyword.hpp
Go to the documentation of this file.
1 /*
2  * File: DeckKeyword.hpp
3  * Author: kflik
4  *
5  * Created on June 3, 2013, 12:55 PM
6  */
7 
8 #ifndef DECKKEYWORD_HPP
9 #define DECKKEYWORD_HPP
10 
11 #include <string>
12 #include <vector>
13 #include <memory>
14 
16 
17 namespace Opm {
18  class ParserKeyword;
19 
20  class DeckKeyword {
21  public:
22  DeckKeyword(const std::string& keywordName);
23  DeckKeyword(const std::string& keywordName, bool knownKeyword);
24 
25  const std::string& name() const;
26  void setLocation(const std::string& fileName, int lineNumber);
27  const std::string& getFileName() const;
28  int getLineNumber() const;
29 
36  std::shared_ptr<const ParserKeyword> getParserKeyword() const;
37 
38  bool hasParserKeyword() const;
39 
40  void setParserKeyword(std::shared_ptr<const ParserKeyword> &parserKeyword);
41 
42  size_t size() const;
43  void addRecord(DeckRecordConstPtr record);
44  DeckRecordConstPtr getRecord(size_t index) const;
46  void setDataKeyword(bool isDataKeyword = true);
47  bool isKnown() const;
48  bool isDataKeyword() const;
49 
50  const std::vector<int>& getIntData() const;
51  const std::vector<double>& getRawDoubleData() const;
52  const std::vector<double>& getSIDoubleData() const;
53  const std::vector<float>& getSIFloatData() const;
54  const std::vector<float>& getRawFloatData() const;
55  const std::vector<std::string>& getStringData() const;
56  size_t getDataSize() const;
57 
58  std::vector<DeckRecordConstPtr>::const_iterator begin() const;
59  std::vector<DeckRecordConstPtr>::const_iterator end() const;
60  private:
61  std::string m_keywordName;
62  std::string m_fileName;
63  int m_lineNumber;
64 
65  std::shared_ptr<const ParserKeyword> m_parserKeyword;
66  std::vector<DeckRecordConstPtr> m_recordList;
67  bool m_knownKeyword;
68  bool m_isDataKeyword;
69  };
70  typedef std::shared_ptr<DeckKeyword> DeckKeywordPtr;
71  typedef std::shared_ptr<const DeckKeyword> DeckKeywordConstPtr;
72 }
73 
74 #endif /* DECKKEYWORD_HPP */
75 
const std::vector< double > & getRawDoubleData() const
bool isKnown() const
std::vector< DeckRecordConstPtr >::const_iterator begin() const
DeckRecordConstPtr getRecord(size_t index) const
void setLocation(const std::string &fileName, int lineNumber)
Definition: Deck.hpp:29
const std::string & getFileName() const
std::shared_ptr< const DeckKeyword > DeckKeywordConstPtr
Definition: DeckKeyword.hpp:71
DeckKeyword(const std::string &keywordName)
void setParserKeyword(std::shared_ptr< const ParserKeyword > &parserKeyword)
DeckRecordConstPtr getDataRecord() const
bool isDataKeyword() const
size_t size() const
Definition: DeckKeyword.hpp:20
void setDataKeyword(bool isDataKeyword=true)
bool hasParserKeyword() const
const std::vector< std::string > & getStringData() const
int getLineNumber() const
size_t getDataSize() const
std::shared_ptr< const DeckRecord > DeckRecordConstPtr
Definition: DeckRecord.hpp:54
void addRecord(DeckRecordConstPtr record)
std::vector< DeckRecordConstPtr >::const_iterator end() const
const std::vector< float > & getRawFloatData() const
std::shared_ptr< const ParserKeyword > getParserKeyword() const
Returns the Parser keyword from which the current deck keyword was created from.
std::shared_ptr< DeckKeyword > DeckKeywordPtr
Definition: DeckKeyword.hpp:70
const std::string & name() const
const std::vector< double > & getSIDoubleData() const
const std::vector< int > & getIntData() const
const std::vector< float > & getSIFloatData() const