| 7202 | namespace Benchmark { |
| 7203 | template <typename Duration> |
| 7204 | struct SampleAnalysis { |
| 7205 | std::vector<Duration> samples; |
| 7206 | Estimate<Duration> mean; |
| 7207 | Estimate<Duration> standard_deviation; |
| 7208 | OutlierClassification outliers; |
| 7209 | double outlier_variance; |
| 7210 | |
| 7211 | template <typename Duration2> |
| 7212 | operator SampleAnalysis<Duration2>() const { |
| 7213 | std::vector<Duration2> samples2; |
| 7214 | samples2.reserve(samples.size()); |
| 7215 | std::transform(samples.begin(), samples.end(), std::back_inserter(samples2), [](Duration d) { return Duration2(d); }); |
| 7216 | return { |
| 7217 | std::move(samples2), |
| 7218 | mean, |
| 7219 | standard_deviation, |
| 7220 | outliers, |
| 7221 | outlier_variance, |
| 7222 | }; |
| 7223 | } |
| 7224 | }; |
| 7225 | } // namespace Benchmark |
| 7226 | } // namespace Catch |
| 7227 | |