File tree Expand file tree Collapse file tree 2 files changed +49
-0
lines changed
Expand file tree Collapse file tree 2 files changed +49
-0
lines changed Original file line number Diff line number Diff line change 1+ #include " ir_reader.h"
2+ #include < filesystem>
3+
4+ #include < fstream>
5+ #include < iostream>
6+
7+ using namespace std ;
8+
9+ namespace fs = filesystem;
10+ namespace ibcs :: ir
11+ {
12+ IRReader :: IRReader(const string &dir) : directory(dir){}
13+
14+ vector<IrLog> IRReader :: load_all()
15+ {
16+ vector<IrLog> logs;
17+
18+ for (auto &entry :fs ::directory_iterator (directory)){
19+ if (entry.path ().extension () == " .ir" ){
20+ ifstream in (entry.path ());
21+ stringstream buf;
22+ buf << in.rdbuf ();
23+ logs.push_back (IRSerializer :: deserialize (buf.str ()));
24+ }
25+ }
26+ return logs;
27+ }
28+ } // namespace ibcs :: ir
Original file line number Diff line number Diff line change 1+ #pragma once
2+ #include " ir_serializer.h"
3+
4+ #include < string>
5+ #include < vector>
6+
7+ using namespace std ;
8+
9+ namespace ibcs :: ir
10+ {
11+ class IRReader
12+ {
13+ public:
14+ explicit IRReader (const string &dir);
15+
16+ vector<IrLog> load_all ();
17+
18+ private:
19+ string directory;
20+ };
21+ }
You can’t perform that action at this time.
0 commit comments