Skip to content

Commit 8a4c088

Browse files
NathanielVolfangojenkins
authored andcommitted
QPR-12190 -- Concatenate detail strings for MultiThreadedProgressIndicator
1 parent fa6403f commit 8a4c088

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

OREData/ored/utilities/progressbar.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,15 +117,20 @@ MultiThreadedProgressIndicator::MultiThreadedProgressIndicator(
117117

118118
void MultiThreadedProgressIndicator::updateProgress(const unsigned long progress, const unsigned long total, const std::string& detail) {
119119
boost::unique_lock<boost::shared_mutex> lock(mutex_);
120-
threadData_[std::this_thread::get_id()] = std::make_pair(progress, total);
120+
threadData_[std::this_thread::get_id()] = std::make_tuple(progress, total, detail);
121121
unsigned long progressTmp = 0;
122122
unsigned long totalTmp = 0;
123+
std::ostringstream detailTmp;
123124
for (auto const& d : threadData_) {
124-
progressTmp += d.second.first;
125-
totalTmp += d.second.second;
125+
progressTmp += std::get<0>(d.second);
126+
totalTmp += std::get<1>(d.second);
127+
128+
if (detailTmp.tellp() != 0)
129+
detailTmp << "|";
130+
detailTmp << std::get<2>(d.second);
126131
}
127132
for (auto& i : indicators_)
128-
i->updateProgress(progressTmp, totalTmp, detail);
133+
i->updateProgress(progressTmp, totalTmp, detailTmp.str());
129134
}
130135

131136
void MultiThreadedProgressIndicator::reset() {

OREData/ored/utilities/progressbar.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ class MultiThreadedProgressIndicator : public ProgressIndicator {
136136
private:
137137
mutable boost::shared_mutex mutex_;
138138
std::set<boost::shared_ptr<ProgressIndicator>> indicators_;
139-
std::map<std::thread::id, std::pair<unsigned long, unsigned long>> threadData_;
139+
std::map<std::thread::id, std::tuple<unsigned long, unsigned long, std::string>> threadData_;
140140
};
141141

142142
} // namespace data

0 commit comments

Comments
 (0)