51 using iterator = std::vector< DeckKeyword >::iterator;
52 using const_iterator = std::vector< DeckKeyword >::const_iterator;
58 static Deck serializationTestObject();
61 bool operator==(
const Deck& data)
const;
66 const UnitSystem& getDefaultUnitSystem()
const;
70 void selectActiveUnitSystem( UnitSystem::UnitType unit_type );
72 const std::string& getInputPath()
const;
73 std::string getDataFile()
const;
74 void setDataFile(
const std::string& dataFile);
75 std::string makeDeckPath(
const std::string& path)
const;
79 std::size_t size()
const;
84 friend std::ostream& operator<<(std::ostream& os,
const Deck& deck);
85 const_iterator begin()
const;
86 const_iterator end()
const;
89 const DeckKeyword& operator[](std::size_t index)
const;
91 template<
class Keyword >
93 return this->operator[](Keyword::keywordName);
96 std::vector< const DeckKeyword* > getKeywordList(
const std::string& keyword )
const;
97 template<
class Keyword >
98 std::vector< const DeckKeyword* > getKeywordList()
const {
99 return getKeywordList( Keyword::keywordName );
102 template<
class Serializer>
105 serializer(keywordList);
106 serializer(defaultUnits);
107 serializer(activeUnits);
108 serializer(m_dataFile);
109 serializer(input_path);
110 serializer(unit_system_access_count);
113 bool hasKeyword(
const std::string& keyword )
const;
115 template<
class Keyword >
116 bool hasKeyword()
const {
117 return this->hasKeyword( Keyword::keywordName );
122 const std::vector<std::size_t> index(
const std::string& keyword)
const {
123 return this->global_view().index(keyword);
126 template<
class Keyword >
127 std::size_t count()
const {
128 return count( Keyword::keywordName );
130 size_t count(
const std::string& keyword)
const;
132 void remove_keywords(
int from,
int to) { keywordList.erase(keywordList.begin() +from, keywordList.begin() + to); };
136 std::vector< DeckKeyword > keywordList;
138 std::optional<UnitSystem> activeUnits;
140 std::optional<std::string> m_dataFile;
141 std::string input_path;
143 mutable std::size_t unit_system_access_count = 0;
145 const DeckView& global_view()
const;
146 mutable std::unique_ptr<DeckView> m_global_view{
nullptr};
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30