Index: libcxx/trunk/benchmarks/CartesianBenchmarks.hpp =================================================================== --- libcxx/trunk/benchmarks/CartesianBenchmarks.hpp +++ libcxx/trunk/benchmarks/CartesianBenchmarks.hpp @@ -11,6 +11,7 @@ #include #include #include +#include #include "benchmark/benchmark.h" #include "test_macros.h" @@ -27,25 +28,55 @@ return std::make_tuple(EnumValue{}...); } -template -static auto skip(int) -> decltype(T::skip()) { - return T::skip(); +template +static auto skip(const B& Bench, int) -> decltype(Bench.skip()) { + return Bench.skip(); } -template -static bool skip(char) { +template +static auto skip(const B& Bench, char) { return false; } -template