diff options
Diffstat (limited to 'utils')
-rw-r--r-- | utils/Utils.cpp | 8 | ||||
-rw-r--r-- | utils/Utils.h | 5 |
2 files changed, 6 insertions, 7 deletions
diff --git a/utils/Utils.cpp b/utils/Utils.cpp index 8a2d11814e..a5c6a95a2a 100644 --- a/utils/Utils.cpp +++ b/utils/Utils.cpp @@ -67,16 +67,16 @@ void discard_comments_and_spaces(std::ifstream &fs) } // namespace #ifndef BENCHMARK_EXAMPLES -int run_example(int argc, char **argv, Example &example) +int run_example(int argc, char **argv, std::unique_ptr<Example> example) { std::cout << "\n" << argv[0] << "\n\n"; try { - example.do_setup(argc, argv); - example.do_run(); - example.do_teardown(); + example->do_setup(argc, argv); + example->do_run(); + example->do_teardown(); std::cout << "\nTest passed\n"; return 0; diff --git a/utils/Utils.h b/utils/Utils.h index 73b6d4f832..6241562a28 100644 --- a/utils/Utils.h +++ b/utils/Utils.h @@ -83,13 +83,12 @@ public: * @param[in] argv Command line arguments * @param[in] example Example to run */ -int run_example(int argc, char **argv, Example &example); +int run_example(int argc, char **argv, std::unique_ptr<Example> example); template <typename T> int run_example(int argc, char **argv) { - T example; - return run_example(argc, argv, example); + return run_example(argc, argv, support::cpp14::make_unique<T>()); } /** Draw a RGB rectangular window for the detected object |