blob: 4bc8cd535ef54791f12f7c007e2a76922921e950 [file] [log] [blame]
// Copyright 2018 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef FLUTTER_BENCHMARKING_BENCHMARKING_H_
#define FLUTTER_BENCHMARKING_BENCHMARKING_H_
#include "benchmark/benchmark_api.h"
namespace benchmarking {
class ScopedPauseTiming {
public:
ScopedPauseTiming(::benchmark::State& state, bool enabled = true)
: state_(state), enabled_(enabled) {
if (enabled_) {
state_.PauseTiming();
}
}
~ScopedPauseTiming() {
if (enabled_) {
state_.ResumeTiming();
}
}
private:
::benchmark::State& state_;
const bool enabled_;
};
} // namespace benchmarking
#endif // FLUTTER_BENCHMARKING_BENCHMARKING_H_