48 using iterator = std::vector< DeckKeyword >::iterator;
49 using const_iterator = std::vector< DeckKeyword >::const_iterator;
55 static Deck serializationTestObject();
58 bool operator==(
const Deck& data)
const;
63 const UnitSystem& getDefaultUnitSystem()
const;
67 void selectActiveUnitSystem( UnitSystem::UnitType unit_type );
69 const std::string& getInputPath()
const;
70 std::string getDataFile()
const;
71 void setDataFile(
const std::string& dataFile);
72 std::string makeDeckPath(
const std::string& path)
const;
76 std::size_t size()
const;
81 friend std::ostream& operator<<(std::ostream& os,
const Deck& deck);
82 const_iterator begin()
const;
83 const_iterator end()
const;
86 const DeckKeyword& operator[](std::size_t index)
const;
88 template<
class Keyword >
90 return this->operator[](Keyword::keywordName);
93 std::vector< const DeckKeyword* > getKeywordList(
const std::string& keyword )
const;
94 template<
class Keyword >
95 std::vector< const DeckKeyword* > getKeywordList()
const {
96 return getKeywordList( Keyword::keywordName );
99 template<
class Serializer>
102 serializer(keywordList);
103 serializer(defaultUnits);
104 serializer(activeUnits);
105 serializer(m_dataFile);
106 serializer(input_path);
107 serializer(unit_system_access_count);
110 bool hasKeyword(
const std::string& keyword )
const;
112 template<
class Keyword >
113 bool hasKeyword()
const {
114 return this->hasKeyword( Keyword::keywordName );
119 const std::vector<std::size_t> index(
const std::string& keyword)
const {
120 return this->global_view().index(keyword);
123 template<
class Keyword >
124 std::size_t count()
const {
125 return count( Keyword::keywordName );
127 size_t count(
const std::string& keyword)
const;
129 void remove_keywords(
int from,
int to) { keywordList.erase(keywordList.begin() +from, keywordList.begin() + to); };
133 std::vector< DeckKeyword > keywordList;
135 std::optional<UnitSystem> activeUnits;
137 std::optional<std::string> m_dataFile;
138 std::string input_path;
140 mutable std::size_t unit_system_access_count = 0;
142 const DeckView& global_view()
const;
143 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