[PATCH] D53087: Add benchmarks for std::function.
Samuel Benzaquen via Phabricator
reviews at reviews.llvm.org
Thu Oct 11 13:00:20 PDT 2018
sbenza added inline comments.
================
Comment at: benchmarks/CartesianBenchmarks.hpp:26
+template <class D, class E, size_t N, size_t... Is>
+struct MakeEnumValueTuple : MakeEnumValueTuple<D, E, N - 1, N - 1, Is...> {};
+
----------------
EricWF wrote:
> In C++17 we could write this as:
>
> ```
> template <class D, class E, size_t ...Idxs>
> constexpr auto MakeEnumValueTuple(std::index_sequence<Idxs...>) {
> return std::make_tuple(EnumValue<D, E, Idxs>{}...);
> }
>
> template <class Derived, class EnumType, size_t NumLabels>
> using EnumValuesAsTuple = decltype(internal::MakeEnumValueTuple<Derived, EnumType>(std::make_index_sequence<NumLabels>{}));
>
> ```
Thanks. I forgot to update this when you said we can use C++17.
Repository:
rCXX libc++
https://reviews.llvm.org/D53087
More information about the libcxx-commits
mailing list