summaryrefslogtreecommitdiff
path: root/src/srcut.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/srcut.cpp')
-rw-r--r--src/srcut.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/srcut.cpp b/src/srcut.cpp
index 6df435b..0e5654a 100644
--- a/src/srcut.cpp
+++ b/src/srcut.cpp
@@ -83,26 +83,31 @@ operator>>(istream& in, map<string, vector<string>>& container)
83} 83}
84 84
85ostream& 85ostream&
86operator<<(ostream& os, const map<string, vector<string>>& container) 86print(ostream& os, const string& key, const map<string, vector<string>>& container)
87{ 87{
88 for ( const auto& chunk: container ) { 88 const auto it = container.find(key);
89 os << "CHUNK: " << chunk.first << '\n'; 89 if ( it != container.end() ) {
90 auto line = begin(chunk.second); 90 auto line = begin(it->second);
91 while ( line != end(chunk.second) ) { 91 while ( line != end(it->second) ) {
92 os << *line << '\n'; 92 os << *line << '\n';
93 93
94 ++line; 94 ++line;
95 } 95 }
96 os << "-------\n\n"; 96 }
97 else {
98 os << "ERROR: " << key << " not found!" << endl;
97 } 99 }
98 return os; 100 return os;
99} 101}
100 102
101int 103int
102main(void) 104main(int argc, char* argv[])
103{ 105{
104 map<string, vector<string>> container; 106 map<string, vector<string>> container;
105 107
106 cin >> container; 108 cin >> container;
107 cout << container; 109
110 for ( int i = 1; i < argc; ++i ) {
111 print(cout, argv[i], container);
112 }
108} 113}