Replace llvm::integer_sequence and friends with the C++14 standard version
The implementation in libc++ takes O(1) compile time, ours was O(n).
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@368990 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/clangd/Function.h b/clangd/Function.h
index 6d91136..91aaa48 100644
--- a/clangd/Function.h
+++ b/clangd/Function.h
@@ -59,14 +59,14 @@
public:
template <class... RestArgs>
auto operator()(RestArgs &&... Rest)
- -> decltype(this->CallImpl(llvm::index_sequence_for<Args...>(),
+ -> decltype(this->CallImpl(std::index_sequence_for<Args...>(),
std::forward<RestArgs>(Rest)...)) {
#ifndef NDEBUG
assert(!WasCalled && "Can only call result of Bind once.");
WasCalled = true;
#endif
- return CallImpl(llvm::index_sequence_for<Args...>(),
+ return CallImpl(std::index_sequence_for<Args...>(),
std::forward<RestArgs>(Rest)...);
}
};
diff --git a/clangd/unittests/Matchers.h b/clangd/unittests/Matchers.h
index 0946398..d477cf7 100644
--- a/clangd/unittests/Matchers.h
+++ b/clangd/unittests/Matchers.h
@@ -89,12 +89,12 @@
template <typename T> operator Matcher<const std::vector<T> &>() const {
return ::testing::MakeMatcher(new SubsequenceMatcher<T>(
- TypedMatchers<T>(llvm::index_sequence_for<M...>{})));
+ TypedMatchers<T>(std::index_sequence_for<M...>{})));
}
private:
template <typename T, size_t... I>
- std::vector<Matcher<T>> TypedMatchers(llvm::index_sequence<I...>) const {
+ std::vector<Matcher<T>> TypedMatchers(std::index_sequence<I...>) const {
return {std::get<I>(Matchers)...};
}
};