55 std::size_t file_index{};
56 std::size_t keyword_index{};
58 Index(
const std::size_t file_index_arg,
59 const std::size_t keyword_index_arg,
61 : file_index { file_index_arg }
62 , keyword_index { keyword_index_arg }
67 Index operator--(
int);
69 Index operator++(
int);
70 bool operator==(
const Index& other)
const;
71 bool operator!=(
const Index& other)
const;
72 bool operator<(
const Index& other)
const;
73 Index operator+(std::size_t shift)
const;
79 static const std::unordered_set<std::string>& rst_keep_in_solution();
83 std::optional<Index> find(
const std::string& keyword,
const Index& offset)
const;
84 std::optional<Index> find(
const std::string& keyword)
const;
85 std::size_t count(
const std::string& keyword)
const;
86 void erase(
const Index& index);
87 void erase(
const Index& begin,
const Index& end);
90 void dump_stdout(
const std::string& output_dir, OutputMode mode)
const;
91 void dump(
const std::string& dir,
const std::string& fname, OutputMode mode)
const;
96 void rst_solution(
const std::string& rst_base,
int report_step);
97 void insert_skiprest();
98 void skip(
int report_step);
104 explicit Block(
const std::string& filename);
106 std::size_t size()
const;
107 void load(
const Deck& deck, std::size_t deck_index);
109 std::optional<std::size_t>
110 find(
const std::string& keyword, std::size_t keyword_index)
const;
114 void insert(std::size_t keyword_index,
const DeckKeyword& keyword);
119 std::vector<DeckKeyword> keywords;
127 bool has_file(
const std::string& fname)
const;
129 std::ofstream* get_stream(
const std::string& deck_name);
130 std::ofstream& open_file(
const std::string& deck_name,
131 const std::filesystem::path& output_file);
134 std::unordered_map<std::string, std::ofstream> stream_map_{};
135 std::unordered_map<std::string, std::string> file_map_{};
138 std::vector<Block> blocks;
139 std::string input_directory;
140 std::unordered_set<std::string> modified_files;
144 void dump(std::ostream& os)
const;
145 void dump_shared(std::ostream& stream,
const std::string& output_dir)
const;
146 void dump_inline()
const;
148 std::string dump_block(
const Block& block,
149 const std::string& dir,
150 const std::optional<std::string>& fname,
151 DumpContext& context)
const;
153 void include_block(
const std::string& source_file,
154 const std::string& target_file,
155 const std::string& dir,
156 DumpContext& context)
const;
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30