aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/Utils.cpp8
-rw-r--r--utils/Utils.h5
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