Files
nvbench/testing
Allison Vacanti ab8fc13aac Simplify enum_type_list usage.
Using C++17 auto template parameters enables two improvements:

1. Enum type no longer needed in `enum_type_list`:

```
// Old:
nvbench::enum_type_list<my_enum, my_enum::value1, my_enum::value2, ...>
// New:
nvbench::enum_type_list<my_enum::value1, my_enum::value2, ...>
```

2. New `nvbench::enum_type` helper cuts down on verbosity when writing
benchmarks

```
// Old
template <typename T, my_enum_a MyEnumA, my_enum_b MyEnumB>
void my_bench(nvbench::state &state,
              nvbench::type_list<T,
                                 std::integral_constant<my_enum_a,
                                                        MyEnumA>,
                                 std::integral_constant<my_enum_b,
                                                        MyEnumB>>)
{ ... }

// New
template <typename T, my_enum_a MyEnumA, my_enum_b MyEnumB>
void my_bench(nvbench::state &state,
              nvbench::type_list<T,
                                 nvbench::enum_type<MyEnumA>,
                                 nvbench::enum_type<MyEnumB>>)
{ ... }
```
2021-03-18 02:59:51 -04:00
..
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00
2021-03-08 18:39:27 -05:00