| 12345678910111213141516171819202122232425262728293031323334353637 | /* *  Created by Joachim on 16/04/2019. *  Adapted from donated nonius code. * *  Distributed under the Boost Software License, Version 1.0. (See accompanying *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */// repeat algorithm#ifndef TWOBLUECUBES_CATCH_DETAIL_REPEAT_HPP_INCLUDED#define TWOBLUECUBES_CATCH_DETAIL_REPEAT_HPP_INCLUDED#include <type_traits>#include <utility>namespace Catch {    namespace Benchmark {        namespace Detail {            template <typename Fun>            struct repeater {                void operator()(int k) const {                    for (int i = 0; i < k; ++i) {                        fun();                    }                }                Fun fun;            };            template <typename Fun>            repeater<typename std::decay<Fun>::type> repeat(Fun&& fun) {                return { std::forward<Fun>(fun) };            }        } // namespace Detail    } // namespace Benchmark} // namespace Catch#endif // TWOBLUECUBES_CATCH_DETAIL_REPEAT_HPP_INCLUDED
 |