34 using EventMap = std::unordered_map<std::string, EventData>;
41 bool Filter(std::vector<std::string>& aLine)
override;
44 std::ofstream&
StreamRef(
size_t aIndex) {
return *mFileStreams[aIndex]; }
49 std::ostream& aOutStream)
override;
54 void AddEvent(
const std::string& aEventName,
55 const std::string& aBaseFilename =
"");
56 bool OpenFile(
const std::string& aFileName,
59 void PrintData(std::ostream& aStream,
60 std::vector<std::string> aEventVec);
61 void PrintCount(std::ostream& aStream,
62 std::vector<std::string>& aEvent,
65 void PrintHeaderData(std::ostream& aStream,
66 std::vector<std::string> aEventVec);
67 void PrintHeaderCount(std::ostream& aStream,
68 std::vector<std::string>& aEvent,
71 void UpdateMaxCount(
const std::vector<std::string>& aEventData);
75 std::vector<std::string> mFileNames;
76 std::vector<std::unique_ptr<std::ofstream>> mFileStreams;
77 std::unordered_map<std::string, std::map<size_t, std::string>> mEventTagsByIndex;
78 std::unordered_map<std::string, bool> mHeaderPrinted;
79 std::map<std::string, std::map<size_t, std::vector<std::string>>> mCountHeader;
80 std::map<std::string, std::map<size_t, size_t>> mCountHeaderMax;