22#include <initializer_list>
24#include <unordered_map>
36using Map = std::unordered_map<std::string, std::size_t>;
41 explicit NameOrder(std::initializer_list<std::string> names);
42 explicit NameOrder(
const std::vector<std::string>& names);
43 void add(
const std::string& name);
44 std::vector<std::string> sort(std::vector<std::string> names)
const;
45 const std::vector<std::string>& names()
const;
46 bool has(
const std::string& wname)
const;
47 std::size_t size()
const;
49 template<
class Serializer>
51 serializer(m_index_map);
52 serializer(m_name_list);
55 static NameOrder serializationTestObject();
57 const std::string& operator[](std::size_t index)
const;
58 bool operator==(
const NameOrder& other)
const;
59 std::vector<std::string>::const_iterator begin()
const;
60 std::vector<std::string>::const_iterator end()
const;
64 std::vector<std::string> m_name_list;
72 void add(
const std::string& name);
73 const std::vector<std::string>& names()
const;
74 bool has(
const std::string& wname)
const;
75 std::vector<std::optional<std::string>> restart_groups()
const;
77 template<
class Serializer>
79 serializer(m_name_list);
80 serializer(m_max_groups);
84 bool operator==(
const GroupOrder& other)
const;
85 std::vector<std::string>::const_iterator begin()
const;
86 std::vector<std::string>::const_iterator end()
const;
89 std::vector<std::string> m_name_list;
90 std::size_t m_max_groups;
Definition: NameOrder.hpp:68
Definition: NameOrder.hpp:38
Class for (de-)serializing.
Definition: Serializer.hpp:75
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29