| // Copyright 2013 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.h" | 
 |  | 
 | namespace benchmarking { | 
 |  | 
 | class ScopedPauseTiming { | 
 |  public: | 
 |   explicit 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_ |