[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